在gulp.rename()调用中使用早期gulp.src中的文件名

问题描述 投票:1回答:1

我在文件夹中有一个zip文件,我想提取其(压缩)文件之一,并在文件夹source file basename + .xml中给它一个文件名模式./sourcefiles_unpacked/,>

./sourcefiles/test.zip

=>

./sourcefiles/test.zip
./sourcefiles_unpacked/test.xml

解压缩和过滤与gulp-unzip配合得很好,但是我不确定如何从gulp.src调用中访问文件名。

gulp.task('unzip-filtered-rename', function() {
  return gulp.src(paths.unzip_sourcefiles)
    // .pipe(debug())
    .pipe(plumber({
      errorHandler: notify.onError('unzip-filtered-rename error: <%= error.message %>')
    }))
    .pipe(changed(paths.excel_targetdir_local_glob, {
      extension: '.xml'
    }))
    .pipe(unzip({filter : function(entry){return minimatch(entry.path, "contents.xml")}}))
    .pipe(gulp.rename(function(path){       

        // ? What do I put here to rename each target file to 
        // ?   its originating zip file's basename?


    })) //   "==> test.xml",
    .pipe(gulp.dest(paths.sourcefiles_unpacked)) //   sourcefiles_unpacked: "./sourcefiles_unpacked/"
});

gulp.rename()一经调用,该块便已重命名为其名称,如zipfile中一样。

  • 如何访问或存储用于重命名功能调用的较早管道的文件路径?
  • 如果路径包含glob“ ./sourcefiles_unpacked/”,则gulp.dest是否正确配置?

我在文件夹中有一个zip文件,我想解压缩其中的一个文件(压缩文件),并在./sourcefiles_unpacked/ ./sourcefiles/test.zip =>文件夹中为其提供文件名模式源文件基本名称+ .xml。 。/ ...

javascript gulp pipe gulp-rename
1个回答
2
投票

尝试一下:

© www.soinside.com 2019 - 2024. All rights reserved.