首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在gulp.dest()中使用gulp.src()中的路径?

如何在gulp.dest()中使用gulp.src()中的路径?
EN

Stack Overflow用户
提问于 2014-03-07 11:41:47
回答 2查看 39.7K关注 0票数 56

尝试创建一个gulp任务,将来自不同文件夹的一堆文件通过LESS传输,然后将它们输出到基于原始源的文件夹中。考虑以下文件夹结构:

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

这是我的gulpfile:

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()呢?

还是说我走错了路?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-07 16:55:01

你应该看看gulp-rename

差不多就是:

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

您让gulp.dest指向您的最终输出目录,但是根据您希望在gulp rename回调中使用的逻辑,动态地修改各个文件路径。

票数 30
EN

Stack Overflow用户

发布于 2014-06-25 23:35:41

在你的src中设置base选项,它将保持你的less文件的原始路径。

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

./dist目标可以是任何内容。您希望放置文件结构的位置。

更多信息请点击此处:https://github.com/wearefractal/glob-stream#options

票数 88
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22240977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档