当我访问我的网站时,它经常正常工作。其他时候我从Javascript收到一个错误,导致我相信我所需的对象或函数在使用时没有被requirejs正确初始化。
作为一个例子,这是我的一个模块的顶部:
以下是代码中此时Backbone变量的值。
请注意,返回带有加载函数的对象。这种行为似乎在各种已定义和必需的模块(不仅仅是Backbone)上任意发生。
我可以确认模块上的define方法被调用(该模块是AMD兼容的。后台是shimmed。)但是没有调用传递给define调用的函数。
我的猜测是,requirejs仍在以某种方式初始化它,但我认为require调用是同步的,只有在模块准备好使用后才会返回。
任何帮助或指导表示赞赏。感谢。
答案 0 :(得分:-1)
经过大量挖掘后,我能够确定加载方法来自Google Visualization库WebFontLoader的依赖。
有关错误可能原因的详细信息如下: https://github.com/google/google-visualization-issues/issues/2070
为了解决这个问题,我采用了所提供的使用冷冻装载机的建议,但版本为41,而不是43。