在生产模式下运行ember-cli应用程序时遇到问题。当我引用App.deferReadiness()
时,它就像App未定义一样。
应用程序/ app.coffee
`import Ember from 'ember'`
`import Resolver from 'ember/resolver'`
`import loadInitializers from 'ember/load-initializers'`
`import config from './config/environment'`
App = Ember.Application.extend
modulePrefix: config.modulePrefix
podModulePrefix: config.podModulePrefix
Resolver: Resolver
ready: ->
Ember.debug "Total setup time: #{(new Date).valueOf() - startTime.valueOf()}ms"
loadInitializers(App, config.modulePrefix)
`export default App`
应用程序/初始化/ facebook.coffee
`import App from 'my_app/app'`
initialize = (container, application) ->
# Results in: t.default.deferReadiness is not a function
App.deferReadiness()
# omitted code
这在开发模式下工作正常,但生产中出现了一些问题。有什么想法吗?
答案 0 :(得分:0)
我无法确定为什么开发模式和生产之间存在差异,但我能够找到解决问题的方法。我引用$status
的所有地方都在初始化器中。初始值设定项接收参数App
和container
。通过使用这些参数,我能够停止使用application
。在控制器中还有一个对App
的引用(我知道讨厌)。使用App.__container__.lookup
很容易解决这个问题。我相信这些变化可以解决我的问题。