javascript - 运行 grunt.file.copy 返回错误代码 : ENOENT

标签 javascript gruntjs

我想使用 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/

相关文章:

javascript - 单击动画 div 并制作全宽 jQuery

javascript - Window.onerror 不返回有关错误的信息

javascript - JSON.parse、JS 类型转换和 revivers

javascript - 使用 gruntjs 进行错误回溯

javascript - 如果模块位于不同的目录中,如何在 gruntfile 中使用 loadNpmTask 加载任务

javascript - 启动 Node 调试服务器后grunt停止输出信息

javascript - 使用angularjs旋转div的指令

javascript - 如何将复杂的 JSON 值映射到简单对象数组

json - 目标...未写入,因为src文件为空?

gruntjs - 咕噜声 : command not found when running from terminal