gulp rename不能按预期工作

时间:2014-09-26 23:14:59

标签: javascript gulp gulp-rename

我正在尝试将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/*

这段代码有什么问题? 无论如何,替代方案就像地图功能。我发现了这个:https://github.com/dominictarr/map-stream但我无法弄清楚如何使用它来满足这种需求。

1 个答案:

答案 0 :(得分:0)

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

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

var jsFiles = gulp.src(['app/scripts/modules.js', 'app/scripts/**/*.js'], { base: 'app/scripts' })