2

我正在集成一个 ember 项目以使用ember-tools,因为我想要好的构建工具。我的项目也使用epf,当我尝试将其包含epf.js为库时遇到了问题。我的直觉只是把ember-tools 为我生成epf.jsvendor/文件夹混在一起......但这不起作用。当我运行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'

我认为这是因为epf.js使用commonjs语法,如

 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,或者我应该在某处保留一个单独的 lib 文件夹并在其中放置一个<script>标签index.html

编辑

epf.js 开始,

(function(global) {

并将Ep对象导出为

global.Ep = Ember.Namespace.create();

这引起了问题,所以我添加了global = window;and var Ember = window.Em。稍后在文件中有一个名为的函数require,我将其重命名为requireEPF.

这些可怕的黑客让我开始了,但我想知道是否有更好的方法。

4

0 回答 0