[英]Gulp doesn't write result to file
我有一個看起來像這樣的gulpfile.js
:
var gulp = require('gulp'),
concat = require('gulp-concat'),
less = require('gulp-less'),
minifyCSS = require('gulp-minify-css'),
uglify = require('gulp-uglify'),
autoprefixer = require('gulp-autoprefixer');
gulp.task('less', function () {
gulp.src(['less/*.less'])
.pipe(less())
.pipe(concat('everything.css'))
.pipe(autoprefixer())
.pipe(minifyCSS())
.pipe(gulp.dest('asset/'));
});
gulp.task('js', function () {
gulp.src(['javascript/*.js'])
.pipe(concat('everything.js'))
.pipe(uglify())
.pipe(gulp.dest('asset/'));
});
gulp.task('watch', function() {
gulp.watch('javascript/*.js', ['js']);
gulp.watch('less/*.less', ['less']);
});
在我開發過程中,較少的任務停止了突然的工作。 控制台不會引發任何錯誤,一切看起來都應該看起來一樣,但是everything.css文件不會得到更新。 我什至刪除了該文件,並且不再創建它。
我對正在發生的事情一無所知,甚至重新啟動了計算機以進行健全性檢查,但這無濟於事。
編輯:所以顯然這是less
管道。 但是為什么它突然開始失敗了?
為簡化起見,請嘗試少更新一些文件。 這是一種常見的設計模式,對我來說效果很好:
/*main.less*/
@import "somefile.less"
@import "some/deep/nested/file.less"
在其他較少的文件中,這些文件將是您保留實際less
代碼的位置。
然后,在您的gulpfile.js
您將需要進行一些修改:
...
gulp.task('less', function () {
gulp.src(['less/main.less']) //only pull in your main.less file
.pipe(less())
.pipe(autoprefixer())
.pipe(minifyCSS())
.pipe(gulp.dest('asset/'));
});
...
gulp.task('watch', function() {
gulp.watch('javascript/*.js', ['js']);
gulp.watch('less/*.less', ['less']); //this remains the same - you want to watch for all changes
});
注意: gulp.watch
不會找到新文件-擁有新文件或使用gulp-watch
類的文件時,您需要重新啟動。
這將為您解決各種頭痛問題。 希望能幫助到你!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.