Gruntjs 可以复制';默认文件';到目标目录?

Gruntjs 可以复制';默认文件';到目标目录?,gruntjs,Gruntjs,有人知道我如何创建一个自定义Grunt任务来复制保存在已发布Grunt任务中的文件吗 例如,任务: node_modules/grunt-foo/tasks/foo.js node_modules/grunt-foo/tasks/support/foo-boilerplate.txt 我的Gruntfile中的任务 foo: { dest: "target/foo" } 当任务运行时,我希望“foo-boilerplate.txt”变成“target/foo/” 任务中会有更多的工

有人知道我如何创建一个自定义Grunt任务来复制保存在已发布Grunt任务中的文件吗

例如,任务:

node_modules/grunt-foo/tasks/foo.js
node_modules/grunt-foo/tasks/support/foo-boilerplate.txt
我的Gruntfile中的任务

foo: {
     dest: "target/foo"
}
当任务运行时,我希望“foo-boilerplate.txt”变成“target/foo/”

任务中会有更多的工作要做,所以我不想暗示我所做的只是复制样板代码。这只是任务中的一个用例


有人能给我举个例子,说明如何在我的foo.js任务文件中做到这一点吗?

那么,您想将一些文件复制到某个目标,对吗

首先使用grunt contrib copy定义该复制操作:

copy: {
  boilercode: {
    src: ['node_modules/grunt-foo/tasks/support/foo-boilerplate.txt'],
    dest: 'target/foo',
  },
},
然后,您希望您的foo任务执行许多其他任务,包括复制操作:

grunt.registerTask('foo', ['copy:boilercode', 'anothersupertask', 'yetanothertask']);
。。。你现在要做的就是在另一个超级任务中完成一些事情

grunt. registerMultiTask('anothersupertask', 'super!', function(){})
我错过什么了吗?(我不知道你称之为“发布的咕噜任务”)

供参考:


    • 我找到了解决办法。在我的多任务中,我使用_dirname引用任务所在的目录

      var fileToCopy = path.join(__dirname, "support", "foo-boilerplate.txt");
      file.copy(fileToCopy, path.join(target, "foo-boilerplate.txt"));
      

      我不想在我的Grunfile中有一个复制任务。我这里有一个简单的例子。我将要复制的文件的过滤器要大得多,从一个项目复制到另一个项目是不合理的。
      var fileToCopy = path.join(__dirname, "support", "foo-boilerplate.txt");
      file.copy(fileToCopy, path.join(target, "foo-boilerplate.txt"));