如何使用Gulp.src()中的路径()



尝试创建一个Gulp任务,该任务将从不同的文件夹中将一堆文件输送到较少的文件,然后根据原始源将它们输出到文件夹中。考虑使用此文件夹结构:

Project
+-- /Module_A
|   +- /less
|   |  +- a.less
|   +- a.css
|
+-- /Module_B
    +- /less
    |  +- b.less
    +- b.css

这是我的墨西哥湾:

var gulp = require('gulp');
var gutil = require('gulp-util');
var less = require('gulp-less');
gulp.task('compileLess', function () {
  gulp.src('./*/less/*.less')
    .pipe(less())
    .pipe(gulp.dest( ??? ));
});
gulp.task('default', ['compileLess']);

我知道Gulp.dest()期望通过路径通过,但在我的示例中,根据源文件,路径会有所不同。那么,如何从源中获取路径,修改它,然后将其传递到Gulp.dest()?

我是错误的方式吗?

在您的src中设置base选项,它将维护较少文件的原始路径。

gulp.task('compileLess', function () {
  gulp.src('./*/less/*.less', {base: './'})
    .pipe(less())
    .pipe(gulp.dest( './dist' ));
});

./dist目标可以是任何东西。无论您希望放置文件结构的位置。

此处的其他信息:https://github.com/wearefractal/glob-stream#options

您应该看看Gulp-Rename

几乎:

gulp.src('./*/less/*.less')
  .pipe(less())
  .pipe(rename(function(path){
    // Do something / modify the path here         
  }))
  .pipe(gulp.dest('./finalRootDestination'))

您将Gulp.D DIST指向您的最终输出DIR,但可以根据您想要的任何逻辑而飞行地修改单个文件路径。

相关内容

  • 没有找到相关文章

最新更新