素敵なビルド ツールが必要なため、ember プロジェクトを統合してember-toolsを使用しています。私のプロジェクトでもepfepf.js
を使用しており、ライブラリとしてインクルードしようとしたときに問題が発生しました。私の本能は、ember-tools が私のために生成epf.js
したvendor/
フォルダーにまとめることでした...しかし、これは機能しません。実行するember build
と、次のように吐き出されます。
Change detected: !config/app.js
created: js/templates.js
created: js/index.js
created: js/application.js
build time: 493 ms
Error: Cannot find module '/lib/version.js'
これは、次のようにcommonjs構文をepf.js
使用しているために発生していると思います
require.define('/lib/index.js', function (module, exports, __dirname, __filename) {
global.Ep = Ember.Namespace.create();
require('/lib/version.js', module);
そして、ember-tools の build コマンドは、これらの require ステートメントがビルドすべきモジュールを宣言していると考えます。
commonjs構文を使用する場合、これは一般的に問題ですか? ember-tools のビルド コマンドを使用しepf.js
て.<script>
index.html
編集
epf.js が始まり、
(function(global) {
Ep
オブジェクトを次のようにエクスポートします
global.Ep = Ember.Namespace.create();
これは問題を引き起こしていたので、 と を追加global = window;
しましvar Ember = window.Em
た。ファイルの後半には、require
名前を に変更したという関数がありますrequireEPF
。
これらの恐ろしいハックは私を始めさせましたが、もっと良い方法があるかどうか知りたい.