我想使用 Grunt 任务将目录复制到不同的位置。我不希望它在运行复制的默认任务中运行,因此我使用以下代码为其注册了一个名为“myTask”的新任务:
grunt.registerTask('myTask', 'Make new dir and copy "src" there', function() {
grunt.file.copy('src/*','../dest/');
});
每当我运行 myTask 时,它都会告诉我:
Warning: Unable to read "src/*" file (Error code: ENOENT). Use --force to continue.
我从中复制的源目录是否缺少某种语法?
最佳答案
您提到您已经使用了 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
的默认任务。
关于javascript - 运行 grunt.file.copy 返回错误代码 : ENOENT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27785046/