我正在努力优化我的Durandal SPA。它似乎工作得很好,但现在我想输出一个名为libs.js的第二个文件,这是我所有必需库的合并uglified版本,但我的第一个dist被忽略了,但我得到的唯一文件是main-built.js
我只获得一个文件,因此永远不会创建app / libs.js。我也没有咕噜咕噜的错误。
这是我的Gruntfile:
module.exports = function (grunt) {
grunt.initConfig({
durandal: {
libs: {
src: [
"../scripts/jquery-1.9.1.js",
"../scripts/typeahead.js",
"../scripts/jquery-ui-1.10.3.js",
"../scripts/knockout-3.0.0rc.js",
"../scripts/toastr.js",
"../scripts/q.js",
"../scripts/breeze.min.js",
"../scripts/bootstrap.js",
"../scripts/moment.js",
"../scripts/lodash.js",
"../scripts/respond.js",
"../scripts/knockout-sortable.js",
"../scripts/knockout-bootstrap.js",
"../scripts/knockout.validation.js",
],
dest: 'scripts/libs.js',
options: {
uglify2: {
compress: {
global_defs: {
DEBUG: false
}
}
}
}
},
dist: {
src: [
"app/**/*.*",
"scripts/durandal/**/*.*"
],
options: {
baseUrl: "app/",
mainPath: "app/main.js",
out: "app/main-built.js",
uglify2: {
compress: {
global_defs: {
DEBUG: false
}
}
}
}
}
}
});
grunt.loadTasks('tasks');
grunt.registerTask('default', ['durandal']);
};
答案 0 :(得分:1)
这是JavaScript。如果您创建像{ a: 'a', a: 'b' }
这样的对象,则第一个密钥将由VM覆盖第二个密钥。
而不是像这样配置:
dist: {
// config goes here
},
dist: {
// config goes here
}
尝试
libs: {
// config goes here
},
main: {
// config goes here
}