我正在使用 ember-cli,并且在选择生产环境时遇到问题。具体来说,当我跑步时一切正常ember serve --environment=development
当我运行时我得到一个空白页ember serve --environment=production
。在控制台中,我看到:
- 未捕获的类型错误:未定义不是函数
- 未捕获错误:找不到模块 simple-auth/authenticators/base
所有其他条件都是相同的,并且所有依赖项都是最新的。我是个菜鸟,所以我什至不知道从哪里开始调试:是 ember 吗? ember-cli?西兰花?任何帮助,将不胜感激。
我遇到了完全相同的问题,James_1x0 是正确的,这是一个西兰花问题。
调试后,“Ember.handlebars.compile”上出现“未定义”错误,这导致了其他研究。
看起来,在生产环境中,“handlebars.js”在 ember-cli 构建过程中被“handlebars.runtime.js”替换,这对 broccoli 此时来说似乎是一个问题。
其他开发人员也有同样的问题,但也有其他库:https://github.com/stefanpenner/ember-cli/pull/675#issuecomment-47431195 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.runtime.js”替换为“handlebars.js”。
这也解决了我的问题。
它确实有一个缺点,即部署了整个车把文件,但目前它是一个解决方法,直到问题得到解决。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)