我正在使用RequireJS 2.1.6。
这是main.js文件:
requirejs.config({
paths: {
baseUrl: "/Scripts",
products: "Products/products",
jquery: "jquery-2.0.2.min",
modernizr: "modernizr-2.6.2"
},
shim: {
jquery: {
exports: "$"
},
modernizr: {
exports: "modernizr"
}
}
});
这是Products.js文件声明:
define(["modernizr"], function (modernizr) {
// Rest of code.
});
当我执行modernizr
中的代码时,问题是undefined
为Products.js
。如果我删除参数modernizr
而改为使用Modernizr
变量(全局由Modernizer.js自然公开),那么代码工作正常。但是,这不是我理想的设置。
我已经仔细检查了拼写和配置,但我无法理解为什么会这样。我想我在这里错过了一个基本点,所以我希望有人可以解释我出错的地方。
答案 0 :(得分:1)
试试这个:
requirejs.config({
paths: {
baseUrl: "/Scripts",
products: "Products/products",
jquery: "jquery-2.0.2.min",
modernizr: "modernizr-2.6.2"
},
shim: {
jquery: {
exports: "$"
},
modernizr: {
exports: "Modernizr"
}
}
});
Modernizr公开Modernizr
而非modernizr
。