【发布时间】:2018-02-05 17:04:36
【问题描述】:
似乎监视任务在 browserSync.init 处停止。例如,我可以通过 gulp cssInkject 调用它们来单独运行所有任务,但它们会在t run when gulp watch is run. Browsersync will give "File event [change] : resources/assets/styles/modules/_breadcrumbs.css" notification but wont 运行捆绑 css 的任务并且不会注入 CSS(流)。
下面是代码:
var gulp = require('gulp'),
watch = require('gulp-watch'),
browserSync = require('browser-sync').create();
gulp.task('watch', function() {
browserSync.init(null, {
notify: false,
browser: "chrome",
server: {baseDir: "app"},
port: 8000
});
watch('./app/*.html', function() {
browserSync.reload();
});
watch('./app/assets/styles/**/*.css', function() {
gulp.start('cssInject');
});
watch('./app/assets/scripts/**/*.js', function() {
gulp.start('scriptsRefresh');
});
});
gulp.task('cssInject', ['styles'], function() {
return gulp.src('./app/temp/styles/styles.css')
.pipe(browserSync.stream());
});
gulp.task('scriptsRefresh', ['scriptsBundle'], function() {
browserSync.reload();
});
gulp.task('styles', function() {
return gulp.src('./app/assets/styles/styles.css')
.pipe(postcss([cssImport, mixins, cssvars, nested, hexrgba, autoprefixer]))
.on('error', function(errorInfo) {
console.log(errorInfo.toString());
this.emit('end');
})
.pipe(gulp.dest('./app/temp/styles'));
});
我在 Ubuntu VM (homestead/laravel) 中运行它,如果它有什么不同的话。
【问题讨论】:
标签: gulp browser-sync