Gruntjs 复制多个文件夹时出现问题
我是格伦特的新手,所以我需要一些帮助 我在官方Gruntjs 复制多个文件夹时出现问题,gruntjs,grunt-contrib-copy,Gruntjs,Grunt Contrib Copy,我是格伦特的新手,所以我需要一些帮助 我在官方gruntjs/grunt contrib副本上问了这个问题,但没有得到回应 我想使用grunt contrib copy将文件从某个目录复制到另一个目录,它们如下所示: parentpath/ (source file) /assets/sass/bootstrap/ /assets/sass/fontawesome/ /assets/sass/storms/ /assets/sass/wordpress/
gruntjs/grunt contrib副本上问了这个问题,但没有得到回应
我想使用grunt contrib copy
将文件从某个目录复制到另一个目录,它们如下所示:
parentpath/ (source file)
/assets/sass/bootstrap/
/assets/sass/fontawesome/
/assets/sass/storms/
/assets/sass/wordpress/
/assets/sass/_layout.scss
/assets/sass/_woocommerce.scss
childpath/ (destiny file)
/assets/sass/bootstrap/
/assets/sass/fontawesome/
/assets/sass/storms/
/assets/sass/wordpress/
/assets/sass/_layout.scss
/assets/sass/_woocommerce.scss
我的GrunFile是这样配置的:
copy: {
parenttheme_bootstrap: {
src: '<%= dirs.parentpath %>/assets/sass/bootstrap',
dest: '<%= dirs.sass %>'
},
parenttheme_fontawesome: {
src: '<%= dirs.parentpath %>/assets/sass/fontawesome',
dest: '<%= dirs.sass %>'
},
parenttheme_storms: {
src: '<%= dirs.parentpath %>/assets/sass/storms',
dest: '<%= dirs.sass %>'
},
parenttheme_wordpress: {
src: '<%= dirs.parentpath %>/assets/sass/wordpress',
dest: '<%= dirs.sass %>'
},
parenttheme_partials: {
files: [{
expand: true,
cwd: '<%= dirs.parentpath %>/assets/sass/',
src: '_layout.scss',
dest: '<%= dirs.sass %>'
},
{
expand: true,
cwd: '<%= dirs.parentpath %>/assets/sass/',
src: '_woocommerce.scss',
dest: '<%= dirs.sass %>'
}]
}
}
// parent Task
grunt.registerTask( 'parent', [
'copy:parenttheme_bootstrap',
'copy:parenttheme_fontawesome',
'copy:parenttheme_storms',
'copy:parenttheme_wordpress',
'copy:parenttheme_partials',
'sass',
'postcss'
] );
有人知道我做错了什么吗
谢谢 我认为您只需要稍微试验一下目录和文件规范。有几件事可以尝试:
将全局模式添加到源路径,而不仅仅是目录名,如../bootstrap/***.scss
在目标路径中添加一个尾随斜杠,使其明显成为一个目录,如dest:'/'
。grunt可能正在复制到单个文件输出,而不是目录树
一个小例子:
copy: {
parenttheme_bootstrap: {
src: '<%= dirs.parentpath %>/assets/sass/bootstrap/**/*.scss',
dest: '<%= dirs.sass %>/'
},
parenttheme_fontawesome: {
src: '<%= dirs.parentpath %>/assets/sass/fontawesome/**/*.scss',
dest: '<%= dirs.sass %>/'
},
复制:{
parenttheme\u引导程序:{
src:“/assets/sass/bootstrap/***.scss”,
目的地:'/'
},
家长主题:{
src:“/assets/sass/fontawesome/***.scss”,
目的地:'/'
},
多亏了@James的建议,我通过以下方式完成了这项工作:
sf2_bootstrap: {
files: [{
expand: true,
cwd: '<%= dirs.sfpath %>/assets/sass/bootstrap/',
src: '**/*.scss',
dest: '<%= dirs.sass %>/bootstrap/'
}]
},
sf2\u引导程序:{
档案:[{
是的,
cwd:“/assets/sass/bootstrap/”,
src:“***.scss”,
目标:'/bootstrap/'
}]
},
现在我的文件已正确复制
James solution,复制了我所有的文件,但是复制到了错误的目录,我不知道为什么。Hi,@James!Sry需要很长时间才能回答。我尝试了你的解决方案,它很有效!但是文件被复制到了childpath/parentpath/assets/…
而不是childpath/assets/…
。我只是更改了你的建议和我定义的目录sass:'../assets/sass'
和parentpath:'../parentpath'
。这里有什么想法吗?这很有意义,输出路径将与cwd参数相关。
sf2_bootstrap: {
files: [{
expand: true,
cwd: '<%= dirs.sfpath %>/assets/sass/bootstrap/',
src: '**/*.scss',
dest: '<%= dirs.sass %>/bootstrap/'
}]
},