我用吞咽和咆哮。我创建了这个gulpfile.js
var gulp = require("gulp");
var less = require("gulp-less");
var notifier = require('node-notifier');
var notify = require("gulp-notify");
var browserSync = require('browser-sync').create();
var reload = browserSync.reload;
gulp.task('less', function() {
var trete;
console.log(trete);
gulp.src('css/main.less')
.pipe(less())
.on('error', function(err){
trete = err.message;
notifier.notify({
'title': 'My notification',
'message': trete
});
return false;
})
.pipe(notify("Всё заебись!"))
.pipe(gulp.dest('css/'))
});
gulp.task('bs-reload', function () {
browserSync.reload();
});
gulp.task('browser-sync', function() {
browserSync.init(['css/*.css', 'js/*.js'], {
server: {
baseDir: './'
}
});
});
gulp.task('watch', function() {
gulp.watch('css/**', ['less']);
gulp.run('less');
gulp.watch(['*.html'], ['bs-reload']);
});
gulp.task('default', ['less', 'browser-sync', 'watch']);当我运行gulp时,growl显示两个通知和浏览器同步两次重新加载页面。也许我做错了什么?
发布于 2015-05-25 21:49:36
你在“default”任务中运行“less”两次。它是第一个依赖任务,将运行,然后由于gulp.run,它再次在“监视”任务中运行。
删除“监视”任务中的gulp.run。
添加'less‘作为'watch’任务的依赖任务。
您可能希望流式传输您的样式,而不是整个页面重新加载,因此在结束时不要通过管道。
.pipe(gulp.dest(cssPath))
.pipe(browserSync.stream());您的任务不会返回它们的流,因此它们将永远不会结束。任务应该总是返回一个流,或者接受一个完成回调,如果它们是异步的,就调用它。
var gulp = require("gulp");
var less = require("gulp-less");
var notifier = require('node-notifier');
var notify = require("gulp-notify");
var browserSync = require('browser-sync').create();
var reload = browserSync.reload;
gulp.task('less', function() {
return gulp.src('css/main.less')
.pipe(less())
.on('error', function(err){
notifier.notify({
'title': 'My notification',
'message': err.message
});
return false;
})
.pipe(notify("Всё заебись!"))
.pipe(gulp.dest('css/'))
.pipe(browserSync.stream());
});
gulp.task('browser-sync', ['less'], function() {
browserSync.init({
server: {
baseDir: './'
}
});
});
gulp.task('watch', ['less'], function() {
gulp.watch('css/**', 'less');
gulp.watch('*.html').on('change', reload);
});
gulp.task('default', ['browser-sync', 'watch']);https://stackoverflow.com/questions/30438840
复制相似问题