我在主干项目中使用Require.js加载jquery-menu-aim
和bootstrap
时出错。
以下是我在main.js中定义的内容:
requirejs.config({
enforceDefine: true,
paths: {
//declare path jquery, backbone, underscore,and other library here....
"jquery-menu-aim" : "libs/jquery/jquery.menu-aim",
"bootstrap" : "libs/jquery/bootstrap.min"
},
shim: {
"jquery-menu-aim" : {
deps: ["jquery"] ,
exports: "Jquerymenuaim"
},
"bootstrap" : {
deps: ["jquery"] ,
exports: "Bootstrap"
}
}
});
错误:未捕获错误:没有为jquery-menu-aim定义调用 http://requirejs.org/docs/errors.html#nodefine require.js:8 未捕获错误:没有定义调用bootstrap http://requirejs.org/docs/errors.html#nodefine
当我在我的视图中定义它时。我想也许我在Shim配置中定义库时错了,但是我无法在google中找到它。
任何帮助将不胜感激。感谢。
答案 0 :(得分:4)
Bootstrap的垫片肯定是错误的,因为Bootstrap没有定义名为Bootstrap
的符号。这是我使用的:
bootstrap: {
deps: ["jquery"],
exports: "jQuery.fn.popover"
},
jQuery.fn.popover
方法是Bootstrap定义的方法。如果在RequireJS加载Bootstrap后它不存在,则表明Bootstrap尚未加载。
你对jquery.menu-aim的垫片同样错了。看看the code,我看到它是一个jQuery插件。您应该更改您的垫片以检查它添加到jQuery的函数。 jQuery.fn.menuAim
看起来像个好人。