TypeError:require.config不是一个函数
我正在使用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没有被正确地包含在项目中?
如果你得到这个错误,可能是这样的:
-
RequireJS未加载。
这可以通过打开浏览器的debugging器查看networking请求并查看定义
require
的文件是否被浏览器询问并检查响应是否指示数据可用(即从服务器加载,从caching中加载)来诊断。 -
RequireJS已加载,但未正确初始化。
如果在RequireJS之前加载了某些东西,并且以某种方式混淆了JavaScript运行时,可能会发生这种情况,使得RequireJS无法初始化。 例如,如果在全局空间中放入了全局命名的任何types的
define
,或全局命名为requirejs
并且这是一个函数,那么RequireJS将默默地放弃初始化。我会用包含RequireJS的文件中的断点来诊断它是否完成执行。
-
RequireJS被加载,但其他东西重新定义的
require
。在加载RequireJS 之后,我会检查
require
的值。 如果在那个时候定义了一个config
方法,那么其他的东西一定会在后面搞乱的。