让强大的战斗让requireJS以可预测的方式工作。它的调试支持并不令人满意。
我的config.js文件如下:
require.config({
baseUrl: "Scripts",
paths: {
"jquery": "jquery-2.1.1.min",
"bootstrap": "bootstrap.min",
"knockout": "knockout-3.1.0"
},
shim: {
"bootstrap": {
deps: ["jquery"],
exports: "$.fn.popover"
}
},
enforceDefine: true
});
require(["jquery", "bootstrap"], function ($, bootstrap) {
console.log("(A) loaded jq + bs");
if ($)
console.log("$ is present");
if (bootstrap)
console.log("bootstrap is present");
});
//# sourceMappingURL=Config.js.map
/ Scripts文件夹中的JavaScript,这是Config.js所在的位置。 ' jquery的'应该是特定版本的别名,但是当浏览器加载时,它会尝试加载/Scripts/jquery.js
存在别名文件/Scripts/jquery-2.1.1.min.js
。
bootstrap也是如此 - 它加载boostrap.js
而不是bootstrap.min.js
我讨厌requireJS有这种神秘的方式将不同的行为混合到相同的路径设置中,该路径设置根据字符串内容而变化。
答案 0 :(得分:2)
此链接可以帮助您..配置文件是异步加载的,并且在您第一次调用require()
时尚未执行