ember.js - ember-cli 在 --environment=production 上失败(未捕获错误 : Could not find module)

标签 ember.js npm ember-cli broccolijs

我正在使用 ember-cli,但在选择生产环境时遇到了问题。具体来说,当我运行 ember serve --environment=development 时,一切正常,而当我运行 ember serve --environment=production 时,我得到一个空白页面。在控制台中,我看到:

  • 未捕获的类型错误:undefined 不是一个函数
  • Uncaught Error :找不到模块 simple-auth/authenticators/base

所有其他条件相同,并且所有依赖项都是最新的。我是个菜鸟,所以我什至不知道从哪里开始调试:它是 ember 吗? Ember 客户端?西兰花?任何帮助将不胜感激。

最佳答案

我遇到了完全相同的问题,James_1x0 是正确的,这是一个西兰花问题。 调试后,“Ember.handlebars.compile”出现“undefined”错误,这导致了其他研究。 看起来,在生产环境中,在 ember-cli 构建过程中,“handlebars.js”被替换为“handlebars.runtime.js”,这对西兰花来说似乎是一个问题。

其他开发者也有同样的问题,但也有其他库: https://github.com/stefanpenner/ember-cli/pull/675#issuecomment-47431195

这里的解决方案是添加:

    var index = app.legacyFilesToAppend.indexOf('bower_components/handlebars/handlebars.runtime.js');
if(index) {
    app.legacyFilesToAppend[index] = 'bower_components/handlebars/handlebars.js';
}

进入您的 Brocfile.js,用“handlebars.js”替换“handlebars.runtime.js”。 这也为我解决了这个问题。 它确实有一个缺点,即部署了整个 handlebars 文件,但它现在是一个解决方法,直到问题得到解决。

关于ember.js - ember-cli 在 --environment=production 上失败(未捕获错误 : Could not find module),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25018160/

相关文章:

javascript - 如何在 Ember.js 中创建多选列表

node.js - npm 安装 : Is there a way to ignore a particular dependency in package. json

ember.js - 引用 rootURL/hbs 中的任何绝对路径

node.js - 使用 Bower Ember CLI 导入依赖项 - 找不到模块

node.js - Node 模块中的日志语句未打印

ember-cli - 导入可能不存在的 es6 模块

ember.js - 如何突出显示选定的地址?

javascript - 从组件 View 获取 block 内容

ember.js - "Cannot call method ' 销毁 arrayWillChange 中的 ' of undefined"

javascript - 为什么当我只是添加用于刷新(拉)Web View 的标签时,UI 就会发生变化?