Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将管道文件压缩到具有特定目录的zip中_Javascript_Gulp_Gulp Zip - Fatal编程技术网

Javascript 将管道文件压缩到具有特定目录的zip中

Javascript 将管道文件压缩到具有特定目录的zip中,javascript,gulp,gulp-zip,Javascript,Gulp,Gulp Zip,我有两个文件流 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(chro

我有两个文件流

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流上使用,将各自的目录预先添加到每个文件路径:

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('./'));
});
在chromefiles和userscriptfiles流上使用,将各自的目录预先添加到每个文件路径:

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('./'));
});

这太完美了。非常感谢。我真的在为一个类似的问题苦苦挣扎,你的回答帮了我很大的忙。这太完美了。非常感谢。我真的在为一个类似的问题苦苦挣扎,你的回答帮了我很大的忙。