我想复制一些文件,运行其他任务,然后再复制一些文件:
copy:{....},
concat:{...},
copy:{...}
但是,当我运行我的grunt构建时出现以下错误:
SyntaxError: Duplicate data property in object literal not allowed in strict mode
我当然理解,我不能在grunt json中多次使用相同的属性(即" copy")。但是我的问题的解决方案是什么?如何在gruntfile.js的不同位置复制?
非常感谢!
答案 0 :(得分:2)
只需将copy
评论拆分为所需的子任务:
copy: {
task1: {
files: [...]
}
task2: {
files: [...]
},
task3: {
files: [...]
}
}
然后像那样运行Grunt:
grunt.registerTask('development', [ 'copy:task1', 'concat', 'copy:task2' ]);
答案 1 :(得分:1)
我做同样的工作。这是我的任务,就在Gruntfile的末尾:
grunt.registerTask('client', [
'concat:app_js',
'concat:lib_js',
'uglify:app_lib_js',
'concat:client_js',
'concat:client_css',
'includes',
'concat:client_html',
'copy:client_gfx',
'copy:client_xml'
]);
这引用了一个更高的结构,如下所示:
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: { ... concat jobs here ... },
// This is how to have multiple copy jobs
copy: {
client_gfx: {
// spec here
},
client_xml: {
// spec here
}
}
}
}