尝试创建一个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()呢?
还是说我走错了路?
发布于 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回调中使用的逻辑,动态地修改各个文件路径。
发布于 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
https://stackoverflow.com/questions/22240977
复制相似问题