在ember-cli中引用App

时间:2015-04-22 21:37:41

标签: ember.js ember-cli

在生产模式下运行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

这在开发模式下工作正常,但生产中出现了一些问题。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我无法确定为什么开发模式和生产之间存在差异,但我能够找到解决问题的方法。我引用$status的所有地方都在初始化器中。初始值设定项接收参数Appcontainer。通过使用这些参数,我能够停止使用application。在控制器中还有一个对App的引用(我知道讨厌)。使用App.__container__.lookup很容易解决这个问题。我相信这些变化可以解决我的问题。