我想使用Grunt任务将目录复制到其他位置。我不希望这个在我的默认任务中运行,其中运行了copy,所以我使用以下代码为它注册一个名为“myTask”的新任务:
grunt.registerTask('myTask', 'Make new dir and copy "src" there', function() {
grunt.file.copy('src/*','../dest/');
});
每当我运行myTask时,它都会告诉我:
警告:无法读取“src / *”文件(错误代码:ENOENT)。使用--force继续。
我正在复制的源目录中是否缺少某种语法?
答案 0 :(得分:1)
您提到您已使用copy
任务,但不希望在default
任务中包含此特定复制...因此我建议您在配置中使用多个目标指定在default
任务数组中执行哪些操作:
grunt.initConfig({
copy: {
js: {
files: [{
expand: true,
src: ['path/to/js/*.js'],
dest: 'dest/js'
}]
},
otherstuff: {
files: [{
expand: true,
src: ['src/**'],
dest: 'dest/'
}]
}
},
// ...
});
// notice that in our default task we specify "copy:js"
grunt.registerTask('default', ['jshint', 'concat', /* etc, */ 'copy:js']);
现在,您可以~$ grunt copy:otherstuff
单独运行~$ grunt copy:js
,当您运行~$ grunt
时,它将运行仅运行copy:js
的默认任务。