I am trying to copy file's from one folder to another folder using gulp
我正在尝试用gulp把文件从一个文件夹复制到另一个文件夹
gulp.task('move-css',function(){
return gulp.src([
'./source/css/one.css',
'./source/other/css/two.css'
]).pipe(gulp.dest('./public/assets/css/'));
});
above code is copying one.css
& two.css
to public/assets/css
folder
上面的代码是复制一个。css和两个。css公共/资产/ css文件夹
and if i use gulp.src('./source/css/*.css')
it will copy all css file to public/assets/css
folder which is not i want
如果我使用gulp.src('./source/css/*.css'),它会将所有css文件复制到public/assets/css文件夹中,这不是我想要的
my question is how to select multiple files and keep the folder stracture ?
我的问题是如何选择多个文件并保持文件夹结构?
2 个解决方案
#1
89
To achieve this please specify base
.
为此,请指定基地。
¶ base - Specify the folder relative to the cwd. Default is where the glob begins. This is used to determine the file names when saving in
.dest()
¶base -指定相对于慢性消耗病的文件夹。违约是手套开始的地方。这用于在.dest()中保存时确定文件名。
In your case it would be:
就你而言,它将是:
gulp.task('move-css',function(){
return gulp.src([
'./source/css/one.css',
'./source/other/css/two.css'
], {base: './source/'})
.pipe(gulp.dest('./public/assets/'));
});
Folder structure :
文件夹结构:
|-gulpfile.js
|-source
| |-css
| |-other
| |-css
|-public
| |-assets
#2
1
I use gulp-flatten and use this configuration.
我使用gulp-flatten并使用这个配置。
var gulp = require('gulp'),
gulpFlatten = require('gulp-flatten');
var routeSources = {
dist: './public/',
app: './app/',
html_views: {
path: 'app/views/**/*.*',
dist: 'public/views/'
}
};
gulp.task('copy-html-views', task_Copy_html_views);
function task_Copy_html_views() {
return gulp.src([routeSources.html_views.path])
.pipe(gulpFlatten({ includeParents: 1 }))
.pipe(gulp.dest(routeSources.html_views.dist));
}
And there you can see the documentations about gulp-flatten: Link.
在那里你可以看到关于gulp-flatten: Link的文档。
#1
89
To achieve this please specify base
.
为此,请指定基地。
¶ base - Specify the folder relative to the cwd. Default is where the glob begins. This is used to determine the file names when saving in
.dest()
¶base -指定相对于慢性消耗病的文件夹。违约是手套开始的地方。这用于在.dest()中保存时确定文件名。
In your case it would be:
就你而言,它将是:
gulp.task('move-css',function(){
return gulp.src([
'./source/css/one.css',
'./source/other/css/two.css'
], {base: './source/'})
.pipe(gulp.dest('./public/assets/'));
});
Folder structure :
文件夹结构:
|-gulpfile.js
|-source
| |-css
| |-other
| |-css
|-public
| |-assets
#2
1
I use gulp-flatten and use this configuration.
我使用gulp-flatten并使用这个配置。
var gulp = require('gulp'),
gulpFlatten = require('gulp-flatten');
var routeSources = {
dist: './public/',
app: './app/',
html_views: {
path: 'app/views/**/*.*',
dist: 'public/views/'
}
};
gulp.task('copy-html-views', task_Copy_html_views);
function task_Copy_html_views() {
return gulp.src([routeSources.html_views.path])
.pipe(gulpFlatten({ includeParents: 1 }))
.pipe(gulp.dest(routeSources.html_views.dist));
}
And there you can see the documentations about gulp-flatten: Link.
在那里你可以看到关于gulp-flatten: Link的文档。