我的app文件夹中有一个充满LESS文件的文件夹。有两个主文件和几个包含,所有这些都以“_”为前缀。我只想将这两个文件及其源图输出到我的构建文件夹,但当然默认设置会输出所有较少的文件:
var gutil = require('gulp-util');
var changed = require('gulp-changed');
var path = require('path');
var less = require('gulp-less-sourcemap');
gulp.task('less', function() {
gulp.src('./app/less/*.less')
.pipe(less({
generateSourceMap: true, // default true
paths: [path.join(__dirname, 'less', 'includes')]
}))
.pipe(gulp.dest('./build/css'));
});
我想我可以将我的包含放在一个子目录中,但如果我不需要,我宁愿不必编辑LESS。
更新
我知道如何在gulp.src
中指定单个文件,但我有2个LESS文件需要制作成2个CSS文件,每个文件都有自己的地图。
答案 0 :(得分:5)
使用event-stream
。
gulp.task('less', function(cb) {
var lessc = less({
paths: [path.join(__dirname, 'less', 'includes')]
});
return es.merge(
gulp.src('app/less/main.less')
.pipe(lessc)
.pipe(gulp.dest('build/css')),
gulp.src('app/less/theme.less')
.pipe(lessc)
.pipe(gulp.dest('build/css'))
);
});
创建2个任务。
gulp.task('less', ['less:main', 'less:theme']);
gulp.task('less:main', function() {
return gulp.src('./app/less/main.less')
.pipe(less({ paths: [path.join(__dirname, 'less', 'includes')] }))
.pipe(gulp.dest('./build/css'));
});
gulp.task('less:theme', function() {
return gulp.src('./app/less/theme.less')
.pipe(less({ paths: [path.join(__dirname, 'less', 'includes')] }))
.pipe(gulp.dest('./build/css'));
});