我是第一次使用 require.js,目前一切正常。但是,我开始想做一个构建。这个想法是用我所有的 js 和模板创建一个文件。但是,每次我使用 r.js 时,它只包含我的主模块的依赖项。
这是我的 app.build.js:
({
appDir: "public/javascripts",
baseUrl: ".",
dir: "build",
paths: {
"hbs": "lib/hbs",
"jquery": "lib/jquery",
"Handlebars": "lib/Handlebars",
"Backbone": "lib/backbone",
"underscore": "lib/underscore",
"bootstrap": "lib/bootstrap.min.js"
},
modules: [{name: "main"}],
shim: {
"bootstrap": {
deps: ["jquery"],
exports: "$.fn.popover"
},
underscore: {
exports: '_'
},
'Handlebars': {
exports: 'Handlebars'
},
Backbone: {
deps: ["underscore", "jquery"],
exports: "Backbone"
}
}})
main.js 的开头:
require.config({
paths: {
"hbs": "lib/hbs",
"Handlebars": "lib/Handlebars",
"Backbone": "lib/backbone",
"underscore": "lib/underscore",
"jquery": "lib/jquery",
"bootstrap": "lib/bootstrap.min.js"
},
hbs: {
disableI18n: true
},
shim: {
"bootstrap": {
deps: ["jquery"],
exports: "$.fn.popover"
},
underscore: {
exports: '_'
},
'Handlebars': {
exports: 'Handlebars'
},
Backbone: {
deps: ["underscore", "jquery"],
exports: "Backbone"
}
}
});
require(['jquery', 'Backbone', 'videos'], function($, Backbone, Videos) { // Whatever });
在这种情况下,在我的构建“main.js”中创建的最终文件仅包含:jquery、下划线、主干和视频。我如何确保它还包含模块的依赖项,videos
即:模板'hbs!template/videos/show'。即使在任何地方都不需要它,我也如何确保也添加了 bootstrap.min.js?最后我应该删除require.config,因为它将定义不再应该存在的路径,因为所有模块都在最终文件中?