尝试创建一个gulp任务,它将通过LESS从不同的文件夹中传输一堆文件,然后将它们输出到基于原始源的文件夹中。考虑以下文件夹结构:
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()呢?
还是我想错了?
2条答案
按热度按时间o4tp2gmn1#
在
src
中设置base
选项,它将保持less文件的原始路径。./dist
目标可以是任何东西,只要你想把你的文件结构放在那里。其他信息:https://github.com/wearefractal/glob-stream#options
wfypjpf42#
你应该看看gulp-rename
差不多:
让gulp.dest指向最终的输出目录,但根据gulp-rename回调函数中的任何逻辑动态修改各个文件路径。