我有一个使用 Require.js for AMD 的 Backbone 应用程序。我正在从 Google CDN 加载 jQuery,但是在构建之后,jQuery 的路径似乎被破坏了。
构建正在发生,没有任何麻烦或错误。但是一旦我使用构建版本,jQuery 就会使用这个 URL 添加到页面中:
http://example.com/assets/js/jquery.js
而不是 CDN 网址。我觉得这是因为我的路径配置丢失并且需要对“jquery”的依赖不是对路径的引用,而是对脚本的正常调用。
这是我的主文件:
main.js
require.config({
baseUrl: '/assets/js/',
paths: {
use: 'libs/use-0.2.0.min',
jquery: 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min',
underscore: 'libs/underscore-1.3.1.min',
backbone: 'libs/backbone-0.9.2.min'
},
use: {
'underscore': {
attach: '_'
},
'backbone': {
deps: ['use!underscore', 'jquery'],
attach: function(_, $) {
return Backbone;
}
}
}
});
require(['views/app'], function(AppView){
var app_view = new AppView();
});
app.build.js
({
appDir: "../../www",
baseUrl: "assets/js",
dir: "../../build",
optimizeCss: "none",
optimize: "uglify",
findNestedDependencies: true,
preserveLicenseComments: false,
paths: {
use: 'libs/use-0.2.0.min',
jquery: 'empty:',
underscore: 'libs/underscore-1.3.1.min',
backbone: 'libs/backbone-0.9.2.min'
},
modules: [
{
name: "main",
include: ["views/app"],
exclude: ["jquery"]
}
],
use: {
'underscore': {
attach: '_'
},
'backbone': {
deps: ['use!underscore', 'jquery'],
attach: function(_, $) {
return Backbone;
}
}
}
})
(我正在使用 use.js 加载非 AMD 插件)