2

素敵なビルド ツールが必要なため、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

これらの恐ろしいハックは私を始めさせましたが、もっと良い方法があるかどうか知りたい.

4

0 に答える 0