依存関係が間違った順序で作成されているため、Googleの閉鎖で3日が経過してから問題が発生しました。これが発生しました:
main.js
(function () {
goog.provide('MYENGINE.Core');
goog.require('MYENGINE.engines.GraphicEngine');
goog.require('MYENGINE.engines.PhysicEngine');
goog.require('MYENGINE.engines.AudioEngine');
goog.require('MYENGINE.engines.GameEngine');
/*********************************
* @constructor
*
**********************************/
ENGINE.Core = function()
{
};
})();
そしてこのコード(正しい名前で):
(function () {
goog.provide('MYENGINE.engines.GraphicEngine');
/*********************************
* @constructor
*
**********************************/
MYENGINE.engines.GraphicEngine = function()
{
};
})();
理由はわかりませんが、これをコンパイルすると、MYENGINE.Coreの前に「MYENGINE.engines.GraphicEngine」が最初に表示されます。したがって、ページを実行すると、エラーが発生します:* Uncaught ReferenceError:MYENGINE is not defined *
私はこのコードを使用してプロジェクトをコンパイルします:
../extlib/closure/closure/bin/build/closurebuilder.py \
--root=../extlib/closure/ \
--root=../src \
--namespace="MYENGINE.Core" \
--output_mode=compiled \
--compiler_jar=compiler.jar \
> MYENGINE_min.js
私の「MYENGINE_min.js」では、コアまたは初期名前空間(MYENGINE)の前にGraphicEngineの作成を見つけることができますが、何かをするのを忘れましたか?
あなたの助けをどうもありがとう!