0

我正在尝试使用 gulp 重命名流中的文件。这是我的代码:

var jsFiles = gulp.src(['app/scripts/modules.js', 'app/scripts/**/*.js'])
    .pipe(map(function(path, callback) {
        path.dirname = Path.join('./dist', 'scripts', path.basename + path.extname);
    }));

我希望得到以下转换:

  app/scripts/*     -> dist/scripts/*
  app/scripts/abc/* -> dist/scripts/abc/*

相反,我得到了:

app/scripts/*     -> app/scripts/dist/scripts/*
app/scripts/abc/* -> app/scripts/dist/scripts/abc/*

这段代码有什么问题?无论如何,另一种选择是类似于 map 功能。我发现了这个:https ://github.com/dominictarr/map-stream但我不知道如何使用它来满足这个需求。

4

1 回答 1

0

您可以指定一个基准gulp.src来确定匹配文件路径的起始目录。默认情况下它是process.cwd(),但您可以将其更改为您想要的任何内容。

因此,相对路径将裁剪base您指定的所有部分。

var jsFiles = gulp.src(['app/scripts/modules.js', 'app/scripts/**/*.js'], { base: 'app/scripts' })
于 2014-09-27T00:33:08.180 回答