Gulp 将文件通过管道传输到特定目录的 zip 文件中
Gulp pipe files into zip with specific directory
我有两个文件流
var chromefiles = gulp.src(['./src/chrome/*', './external/jquery.js', './icon/*']);
var userscriptfiles = gulp.src(['./src/meta.js', './src/jquery.extensions.js', './src/*.js'])
.pipe(concat('user.js'));
我合并成一个 zip 文件
return merge(chromefiles, userscriptfiles)
.pipe(zip('overpress.zip'))
.pipe(gulp.dest('./'));
我想将 "chromefiles" 中的所有文件放入名为 "chrome" 的子目录中,并将 "userscriptfiles" 中的文件放入 zip 文件中名为 "userscript" 的目录中。
我怎样才能做到这一点?
overpress.zip
|
|-userscript
| |-user.js
|
|-chrome
|-jquery.js
|-icon.png
|-someotherfile.js
在 chromefiles
和 userscriptfiles
流上使用 gulp-rename
将相应的目录添加到每个文件路径:
var rename = require('gulp-rename');
gulp.task('zip', function() {
var chromefiles = gulp.src([
'./src/chrome/*',
'./external/jquery.js',
'./icon/*'
])
.pipe(rename(function(file) {
file.dirname = 'chrome/' + file.dirname;
}));
var userscriptfiles = gulp.src([
'./src/meta.js',
'./src/jquery.extensions.js',
'./src/*.js'
])
.pipe(concat('user.js'))
.pipe(rename(function(file) {
file.dirname = 'userscript/' + file.dirname;
}));
return merge(chromefiles, userscriptfiles)
.pipe(zip('overpress.zip'))
.pipe(gulp.dest('./'));
});
我有两个文件流
var chromefiles = gulp.src(['./src/chrome/*', './external/jquery.js', './icon/*']);
var userscriptfiles = gulp.src(['./src/meta.js', './src/jquery.extensions.js', './src/*.js'])
.pipe(concat('user.js'));
我合并成一个 zip 文件
return merge(chromefiles, userscriptfiles)
.pipe(zip('overpress.zip'))
.pipe(gulp.dest('./'));
我想将 "chromefiles" 中的所有文件放入名为 "chrome" 的子目录中,并将 "userscriptfiles" 中的文件放入 zip 文件中名为 "userscript" 的目录中。 我怎样才能做到这一点?
overpress.zip
|
|-userscript
| |-user.js
|
|-chrome
|-jquery.js
|-icon.png
|-someotherfile.js
在 chromefiles
和 userscriptfiles
流上使用 gulp-rename
将相应的目录添加到每个文件路径:
var rename = require('gulp-rename');
gulp.task('zip', function() {
var chromefiles = gulp.src([
'./src/chrome/*',
'./external/jquery.js',
'./icon/*'
])
.pipe(rename(function(file) {
file.dirname = 'chrome/' + file.dirname;
}));
var userscriptfiles = gulp.src([
'./src/meta.js',
'./src/jquery.extensions.js',
'./src/*.js'
])
.pipe(concat('user.js'))
.pipe(rename(function(file) {
file.dirname = 'userscript/' + file.dirname;
}));
return merge(chromefiles, userscriptfiles)
.pipe(zip('overpress.zip'))
.pipe(gulp.dest('./'));
});