在三个库中,require.js无法加载一个;我该如何找出原因?

时间:2013-09-24 18:50:53

标签: coffeescript requirejs

我有三个库,我正在加载require.js:

require(['lib/alpha', "lib/delta", "lib/gamma"], (alpha, delta, gamma) ->
  # initialize objects from libraries etc. 

它们看起来非常相似:

# names changed for IP protection, so this code may look funny

define(->
  class alpha
    constructor: ({@type, @user, @data}) ->
      @time = new Date()
)

define(->
  class delta
    constructor: ({@logger, @config, @socket, @util}) ->
      #@logger.debug arguments
      @room = null
      (@util ?= {}).inspect ?= JSON.stringify

      # more functions ...
)

define(->
  class gamma
    alphas = null
    constructor: ({@logger, @config, @alphaUtility, @newId}) ->
      throw 'alpha utility not defined' unless @alphaUtility?

    # more functions ...
)

但是,我突然无法辨别delta突然无法通过require加载。它只是回调中的undefined

相关细节:

  • 我几周没有触及delta中的代码
  • 从上周回滚代码无效
  • 以不同的顺序加载或加载delta本身无效
  • js文件存在于服务器上,并在我直接调用URL时加载
  • 所有文件都在同一个文件夹中
  • 要求没有错误
  • 控制台中没有错误

我在这里难倒,我怎么能弄明白为什么要求不加载这个文件?我已经逐步完成了代码2k行,因此确定它失败的地方很困难。

要求2.1.8(截至2013年9月24日当前)

1 个答案:

答案 0 :(得分:1)

已经有一段时间没有任何答案,所以我会写一个。

require.js开发人员认为这可能是Chrome 29中的一个错误。由于Chrome现已碰到v30并且此问题已停止发生,我不得不假设它已修复。