由于grunt配置只是json,你可以使用grunt模板并将你的文件作为配置属性。
uglifyFiles: {
vendor: {
// this name should change based on the environment
'dest/vendor-output.js': ['src/vendor-input1.js', 'src/vendor-input2.js']
},
custom: {
'dest/custom-output.js': ['src/custominput1.js', 'src/custominput2.js']
}
},
uglify: {
production: {
options: {
compress: true
},
files: '<%= uglifyFiles %>'
},
development: {
options: {
compress: false,
beautify: true
},
files: '<%= uglifyFiles %>'
}
}
http://gruntjs.com/configuring-tasks#templates
对不起,我不太明白这个问题
If production could even have the destination name to custom-output.min.js that would be even more ideal.
可不可以给多一点信息,或者是上面的你在那里想达到什么目的?
编辑
好像你正在试图做什么需要重复的部分进行空的,你其实是想在每个略有不同的代码。它可以完成,但不是在json中,你需要使用js并使用括号表示法将目标创建为其键。我认为一个更简单的方法,以及这样设置的咕噜声将会做到以下几点。
vendorUglifyFiles: ['src/vendor-input1.js', 'src/vendor-input2.js'],
customUglifyFiles: ['src/custominput1.js', 'src/custominput2.js'],
uglify: {
production: {
options: {
compress: true
},
files: {
vendor: {
'dest/vendor.min.js': '<%= vendorUglifyFiles %>'
},
custom: {
'dest/custom.min.js': '<%= customUglifyFiles %>'
}
}
},
development: {
options: {
compress: false,
beautify: true
},
files: {
vendor: {
'dest/vendor.js': '<%= vendorUglifyFiles %>'
},
custom: {
'dest/custom.js': '<%= customUglifyFiles %>'
}
}
}
}
编辑:2016年11月8日,15:12
移除抛出的indexOf错误级别:
vendorUglifyFiles: ['src/vendor-input1.js', 'src/vendor-input2.js'],
customUglifyFiles: ['src/custominput1.js', 'src/custominput2.js'],
uglify: {
production: {
options: {
compress: true
},
files: {
'dest/vendor.min.js': '<%= vendorUglifyFiles %>',
'dest/custom.min.js': '<%= customUglifyFiles %>'
}
},
development: {
options: {
compress: false,
beautify: true
},
files: {
'dest/vendor.js': '<%= vendorUglifyFiles %>',
'dest/custom.js': '<%= customUglifyFiles %>'
}
}
}
这做的伎俩。
我试图让一个任务编译成一个缩小的生产版本或文件的正常美化开发版本。你写的例子适用于第一部分。现在只有文件名应该是用于开发的vendor.js或生产版本的vender.min.js。 – Remi
似乎在'production'任务下嵌套'vendor'和'custom'会抛出Warning:pattern.indexOf不是函数错误。去除那个额外的水平就是诀窍。 – Remi
对不起,由记忆打字,感谢您的修复。 –