Requirejs Require.js优化器仅缩小main.js并忽略';路径';
main.js:Requirejs Require.js优化器仅缩小main.js并忽略';路径';,requirejs,Requirejs,main.js: require.config({ baseUrl: 'js/', paths: { 'd3': 'lib/d3', 'text': 'lib/text', 'jquery': 'lib/jquery', 'topojson': 'lib/topojson', 'statecodes': 'lib/statecodes', 'underscore': 'lib/underscore' }, shim: {
require.config({
baseUrl: 'js/',
paths: {
'd3': 'lib/d3',
'text': 'lib/text',
'jquery': 'lib/jquery',
'topojson': 'lib/topojson',
'statecodes': 'lib/statecodes',
'underscore': 'lib/underscore'
},
shim: {
'lib/bootstrap': {
deps: ['jquery']
},
'lib/backbone': {
deps: ['jquery', 'underscore'],
exports: 'Backbone'
},
'lib/wreqr': {
deps: ['lib/backbone']
},
'lib/marionette': {
deps: ['lib/wreqr'],
exports: 'Marionette'
}
}
});
var deps = [
'app',
'utils/dataserver',
'd3',
'text',
'jquery',
'topojson',
'statecodes',
'underscore',
'lib/bootstrap',
'lib/backbone',
'lib/marionette'
];
require(deps, function(app, ds) {
app.start();
ds.fetchall();
});
配置文件app.build.js:
({
baseUrl: "../js",
name: 'main',
mainConfigFile: '../js/main.js',
out: "../js/build.js"
})
通过运行r.js-oapp.build.js
我希望优化器缩小并连接path
中的脚本。但它所做的只是缩小main.js
。我错过了什么
r.js-o app.build.js的输出
Tracing dependencies for: main
Uglifying file: /Project/web/js/build.js
/Project/web/js/build.js
----------------
/Project/web/js/main.js
r.js
将只跟踪应用程序所需的所有依赖项。您需要包括入口点require([],function(){})
在main.js
中,或者基本上是开头的require
块,当定期使用RequireJS时,该块应该包含在data main
中指定的脚本中 必须将依赖项的文本数组而不是变量deps,
作为require的第一个参数传递。
否则,优化器不知道要包含哪些文件。我对帖子进行了编辑,并添加了require()
调用。但是,这并没有改变运行r.js
的行为。您可以尝试从生成文件中删除maincigfile
属性吗?嗯,应该可以。尝试完全跳过构建文件,只需在js目录中执行node r.js-o name=main out=build.js
。