2

私はrequire.jsでロードしている3つのライブラリを持っています:

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 を直接呼び出すと正常にロードされます
  • すべてのファイルは同じフォルダーにあります
  • Require はエラーをスローしていません
  • コンソールにエラーはありません

私はここで困惑しています.requireがこのファイルをロードしない理由をどのように理解できますか? 私はコードを少し進めましたが、それは 2k 行なので、どこで失敗しているかを判断するのは困難です。

2.1.8 が必要 (2013 年 9 月 24 日現在)

4

1 に答える 1

1

しばらく経ちましたが、回答がありませんでしたので、書きます。

開発者は、これが Chrome 29 のバグである可能性があることを示唆しましたrequire.js。Chrome が v30 にバンプされ、この問題が発生しなくなったため、修正されたと想定する必要があります。

于 2013-10-15T17:20:01.200 に答える