我使用 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 时加载正常
- 所有文件都在同一个文件夹中
- 要求不抛出任何错误
- 控制台中没有错误
我被难住了,我怎么知道为什么 require 不会加载这个文件?我已经逐步完成了代码,它有 2k 行,所以很难确定它失败的地方。
需要 2.1.8(截至 2013 年 9 月 24 日的当前版本)