私は HTML5 WebWorkers を使用していますが、このような問題に直面しました (クロージャ コンパイラでスクリプトをコンパイルしているときに):
内部にこのコードを含む 2 つのファイル (.js) があります。
...
var encoder = null;
...
つまり、同じ名前のグローバル変数が 2 つあります。
これらのファイルは、起動したい両方のワーカーのソースとして使用されます。私が知っているように、両方のファイルは独自のスコープで実行され、実行時に競合は発生しません。
もう1つの条件は、両方のファイル(モジュール)を一度にコンパイルしたいということです
--module module1:1
--js file
--module module2:1
--js file2.js
しかし、Closure Compiler はその競合を検出し、module2 は module1 に依存する必要があると言います。これは、両方とも同じグローバル変数を持っているためです。
私は何をすべきか?