如何配置 grunt 复制任务
how to configure grunt copy task
我有一个目录:
- app/
- monday/
a.js
b.js
- tuesday/
a.js
b.js
我在Grunt中配置如下:
files: [{
expand: true,
cwd: '<%= yeoman.app %>/',
src: ['**/*.js'],
dest: '<%= yeoman.dist %>/',
ext: '.js'
}]
然后 Grunt 将创建一个目录:
- build/
- monday/
a.js
b.js
- tuesday/
a.js
b.js
但是我怎样才能得到这样创建的目录结构:
- build/
- monday/
- wrap/
a.js
b.js
- tuesday/
- wrap/
a.js
b.js
我试过了
files: [{
expand: true,
cwd: '<%= yeoman.app %>/',
src: ['**/*.js'],
dest: '<%= yeoman.dist %>/**/wrap',
ext: '.js'
}]
和...但是 none 他们的工作。
我认为当前配置不可能做到这一点,因为您想在“**”检索到的结构化层次结构中插入文件夹。
但是:
人们总是忘记 Grunt 文件不仅是声明性的,因为它在您查看时可能会出现,而且它是 plain Javascript 因此您可以编写一个函数来抓取 src(如 src: [getMySourceFiles()]
),你可以编写另一个函数到 return dest 值:dest: placeThemHere()
.
此外,您可以编写一个函数,将 return 整个配置对象 复制 或更多部分。
这样您就可以以您可以处理的最复杂的方式使用它。
希望这可以帮助任何人记住 grunt 实际上是 javascript,而不是 json。
我有一个目录:
- app/
- monday/
a.js
b.js
- tuesday/
a.js
b.js
我在Grunt中配置如下:
files: [{
expand: true,
cwd: '<%= yeoman.app %>/',
src: ['**/*.js'],
dest: '<%= yeoman.dist %>/',
ext: '.js'
}]
然后 Grunt 将创建一个目录:
- build/
- monday/
a.js
b.js
- tuesday/
a.js
b.js
但是我怎样才能得到这样创建的目录结构:
- build/
- monday/
- wrap/
a.js
b.js
- tuesday/
- wrap/
a.js
b.js
我试过了
files: [{
expand: true,
cwd: '<%= yeoman.app %>/',
src: ['**/*.js'],
dest: '<%= yeoman.dist %>/**/wrap',
ext: '.js'
}]
和...但是 none 他们的工作。
我认为当前配置不可能做到这一点,因为您想在“**”检索到的结构化层次结构中插入文件夹。
但是:
人们总是忘记 Grunt 文件不仅是声明性的,因为它在您查看时可能会出现,而且它是 plain Javascript 因此您可以编写一个函数来抓取 src(如 src: [getMySourceFiles()]
),你可以编写另一个函数到 return dest 值:dest: placeThemHere()
.
此外,您可以编写一个函数,将 return 整个配置对象 复制 或更多部分。
这样您就可以以您可以处理的最复杂的方式使用它。
希望这可以帮助任何人记住 grunt 实际上是 javascript,而不是 json。