【发布时间】:2017-08-12 03:51:00
【问题描述】:
我在更新旧版 Ember 应用时遇到问题。
我已将代码移植到一个新的空 ember 应用程序中并安装了依赖项。我在提供应用程序时没有收到任何错误,但是当我检查浏览器控制台时,我发现应用程序无法启动。
Uncaught Error: Could not find module `ember/load-initializers` imported from `<my-app>/app`
我看过一个类似的 SO 帖子,表明这是由 ember-cli 和 jquery 的问题引起的。 link
但是,该帖子已有一年多的历史了,我正在运行最新版本的 ember 以及更新的 jquery 库。当然,不能保证,但这似乎不太可能仍然是 ember-cli 的问题。
我的 app/app.coffee 文件非常基本(没有添加)
`import Ember from 'ember'`
`import Resolver from 'ember/resolver'`
`import loadInitializers from 'ember/load-initializers'`
`import config from './config/environment'`
Ember.MODEL_FACTORY_INJECTIONS = true
App = Ember.Application.extend
modulePrefix: config.modulePrefix
podModulePrefix: config.podModulePrefix
Resolver: Resolver
loadInitializers(App, config.modulePrefix)
`export default App`
从控制台,我可以验证我的应用程序使用的是预期的 jquery 版本:
$ Ember.$.fn.jquery
"3.2.0"
但是,从命令行,我得到了不同的版本。
$ bower jquery -v
1.8.0
我不确定这是有意义的还是红鲱鱼。
无论如何,我的 ember-cli 是相当新的。
ember-cli: 2.12.0
我添加了指向package.json 和bower.json 文件的链接,以防它们包含任何线索。
目前,我不确定如何解决问题。依赖
【问题讨论】:
-
尝试更新 "ember-resolver": "^2.0.3" 并删除 node_modules 和 tmp 文件夹并尝试 npm install
-
值得一试,但并没有改变当前的行为。
-
你可以尝试导入
ember-load-initializers。如import loadInitializers from 'ember/load-initializers' -
@BenDowney 我像你一样尝试过
import loadInitializers from 'ember/load-initializers'我得到了同样的错误,但是当我将它更改为import loadInitializers from 'load-initializers'时,这修复了错误。 -
这是一个老问题,但您尝试过 ember-load-initializers 吗?他们在今年2月改名github.com/ember-cli/ember-cli/commit/…
标签: javascript ember.js coffeescript ember-cli