Can';仅当文件已更改时,才能运行gulp less
我不能每次都不处理每一件事。我试过:Can';仅当文件已更改时,才能运行gulp less,gulp,gulp-less,Gulp,Gulp Less,我不能每次都不处理每一件事。我试过: 更新我的gulp版本 改用大口 大口喝 它适用于gulp ngmin,但不适用于gulp less 因此,只有在我更改test.js时,才会处理test.js: var SRC = 'test.js'; var DEST = 'dist'; gulp.task('test', function () { return gulp.src(SRC) .pipe(changed(DEST)) // ngmin will o
var SRC = 'test.js';
var DEST = 'dist';
gulp.task('test', function () {
return gulp.src(SRC)
.pipe(changed(DEST))
// ngmin will only get the files that
// changed since the last time it was run
.pipe(ngmin())
.pipe(gulp.dest(DEST));
});
但是每次我运行这个任务时,它的计算量就更少了
这里怎么了
var SRC = 'test.less';
var DEST = 'dist';
gulp.task('test', function () {
return gulp.src(SRC)
.pipe(changed(DEST))
.pipe(less({
paths: [path.join(__dirname, 'less', 'includes')]
}))
.pipe(gulp.dest(DEST));
});
实际上,尼基塔的说法是错误的,它确实起作用,这是它的目的,只是确保你设置正确。就我而言,我有以下几点:
var gulp = require('gulp');
var less = require('gulp-less');
var changed = require('gulp-changed');
gulp.task('less', function ()
{
gulp.src('./src/less/pages/*.less')
.pipe(changed( 'outputDir/css', {extension: '.css'}))
.pipe(less({
paths: [ './src/less/' ]
}))
.pipe(gulp.dest( 'outputDir/css') );
});
Mygulp.src
指向我的主LESS文件(导入其他LESS文件的文件)所在的文件夹,我希望它们都编译到目标文件夹中
在.pipe(changed())
中,您必须具有与.pipe(gulp.dest())
中相同的目标
您可以在管道(changed())
中指定要比较的扩展名,使其更快({extension:'.css'}
)
也许您需要仔细检查
路径:[path.join(\uu dirname,'less','includes')]
。在我的例子中,我只是将所有less文件的根文件夹放在那里。我的一些LESS文件位于src/LESS/globals
中,其他文件位于src/LESS/common
中。我要编译的文件位于src/less/pages
中。因此我在gulp.src()
中使用了src/less/pages/*.less
,在less管道(less({path:[]))中使用了您可以使用gulp less changed包,考虑到使用的@import
,它将检查less文件编译层次结构
var gulp = require('gulp');
var lessChanged = require('gulp-less-changed');
var rename = require('rename');
var less = require('gulp-less');
var outputPat = "dest";
gulp.task('less', () => {
return gulp.src('src/*.less')
.pipe(lessChanged({
getOutputFileName: file => rename(file, { dirname: outputPath, extname: '.css' })
}))
.pipe(less())
.pipe(gulp.dest(outputPath));
});
你提到了“全球”和“普通”。如果导入发生更改,这会自动知道如何编译顶级页面吗?从文件来看,它不。。。但万一你找到了办法?