我正在使用require.js作为早午餐项目的一部分。此代码抛出错误:
;require.config({ // require.config is not a function
paths: {
jquery: "lib/jquery",
underscore: "lib/underscore",
backbone: "lib/backbone",
localstorage: "lib/backbone.localStorage"
}
});
这是否意味着在项目中没有正确包含requirejs?
答案 0 :(得分:15)
如果您收到该错误,可能是:
未加载RequireJS。
这可以通过打开浏览器的调试器来查看网络请求并查看浏览器是否询问定义require
的文件并检查响应是否表明数据可用(即从服务器加载)来诊断,从缓存加载。)
已加载RequireJS但未正确初始化。
如果在RequireJS之前加载某些内容并且以某种方式混淆JavaScript运行时会导致RequireJS无法初始化,则可能会发生这种情况。例如,如果某个东西在全局空间中放入任何类型的全局名为define
,或者名为requirejs
的全局,并且它是一个函数,那么RequireJS将默默地放弃初始化。
我在包含RequireJS的文件中使用断点来诊断它,看它是否完成执行。
已加载RequireJS,但还有其他内容重新定义require
。
在加载RequireJS之后,我会检查require
的值。如果它在那时定义了config
方法,那么其他东西必须在以后搞乱它。