2017-04-20 1 views
1

ウェブアプリケーションのJavaScript用にgoogle closureライブラリを使用しようとしています。私は閉鎖ライブラリと一緒にstaticディレクトリに私のJSスクリプトを持っている:deps.jsのデフォルトの追加を防止する

static/closure-library/closure/bin/build/closurebuilder.py \ 
> --root=./static/closure-library/ \ 
> --namespace="pr" \ 
> --output_mode=script \ 
> --output_file=./static/app-calc.js static/app.js 

バックエンドは移動中である:

static/ 
    app.js 
    closure-library 

JSコードが閉鎖ビルダーを使用して、単一のスクリプトに統合されます。しかし、すぐにページがロードされると、deps.jsは、上記のスクリプトタグの後にDOMに追加され

<script src="/static/app-calc.js"></script> 

:上記生成されたスクリプトは次のようにHTMLに含まれている

<script type="text/javascript" src="deps.js"></script> 

このファイルをせずに追加されますので、先行するパス、現在のアプリケーションURLを使用してこのスクリプトをロードするブラウザ。

この動作を変更したり、deps.jsの追加を防止する方法はありますか? 私が知る限り、ライブラリ全体が1つのファイルに結合されているので、このファイルは必要ありません。閉鎖docs depswriterの言及パスはbase.jsと同じですが、base.jsは含まれていないので、どのようにアプリケーションに影響を与えるかはわかりません。

答えて

1

Closurebuilderは推奨されていません。代わりにClosure Compilerを直接使用する必要があります。多くのご質問を網羅しているHow to use Google Closure compilerをご覧ください。 Managing Dependenciesに関するwikiページには現在の詳細があります。クロージャコンパイラについては、まだ更新されていない古いドキュメントがたくさんあることに注意してください(例:https://developers.google.com/closure/library/docs/closurebuilder)。これらのページの中には関連性があるものもあれば、古いものもあります。 githubのwikiは最新です。

deps.jsファイルは、コンパイルせずにソースコードから直接実行するときにデバッグするために必要なものです。 https://github.com/google/closure-compiler/wiki/Debugging-Uncompiled-Source-Codeを参照してください。

コンパイラは、使用しているclosure-libraryの部分だけを取り出し、コードと組み合わせることができます。

+0

。 'deps.js'はまだ表示されます。 – abhink

+0

使用しているコンパイルコマンドを完全に表示できますか? deps.jsがまだ現れているということをあなたはどういう意味ですか?限り、私は 'deps.js'を生成する唯一の方法は' depswriter.py'や 'closurebuilder.py'のようなpythonスクリプトを使うことです - あなたはまだそれらを使っていますか?また、ディレクトリ構造の詳細を表示することができます:ソースファイルはどこにコンパイルされた出力が置かれてどこですか? – owler

0

グローバル変数またはグローバルオブジェクトプロパティ "CLOSURE_NO_DEPS"をtrueに設定します。これにより、base.jsがdeps.jsファイルをロードしようとしなくなります。

詳細は、コード中に見出すことができる:私は `--dependency_mode`フラグでコンパイラを使用してみました

https://github.com/google/closure-library/blob/master/closure/goog/base.js#L19
関連する問題