Gulp的
我已经尝试了重启电脑的编码版本。我查看了stackoverflow和其他地方针对此类问题的各种响应。
watch
在第一次改变后只会运行一次。我正在使用Ubuntu 14上的Apache2运行Wordpress,并使用教程说明如何使用gulp监视更改。对于第一次更改,它可以正常工作-刷新浏览器,即http://localhost:3000。因为我对设置gulp watch比较新,所以不知道它为什么只运行一次。gulpfile.js如下。如果需要其他信息,请回复。谢谢。我已经尝试了重启电脑的编码版本。我查看了stackoverflow和其他地方针对此类问题的各种响应。
var gulp = require('gulp'),
settings = require('./settings'),
webpack = require('webpack'),
browserSync = require('browser-sync').create(),
postcss = require('gulp-postcss'),
rgba = require('postcss-hexrgba'),
autoprefixer = require('autoprefixer'),
cssvars = require('postcss-simple-vars'),
nested = require('postcss-nested'),
cssImport = require('postcss-import'),
mixins = require('postcss-mixins'),
colorFunctions = require('postcss-color-function');
gulp.task('styles', function() {
return gulp.src(settings.themeLocation + 'css/style.css')
.pipe(postcss([cssImport, mixins, cssvars, nested, rgba, colorFunctions, autoprefixer]))
.on('error', (error) => console.log(error.toString()))
.pipe(gulp.dest(settings.themeLocation));
});
gulp.task('scripts', function(callback) {
webpack(require('./webpack.config.js'), function(err, stats) {
if (err) {
console.log(err.toString());
}
console.log(stats.toString());
callback();
});
});
gulp.task('watch', function() {
browserSync.init({
notify: false,
proxy: settings.urlToPreview,
ghostMode: false
});
gulp.watch('./**/*.php', function() {
browserSync.reload();
});
gulp.watch(settings.themeLocation + 'css/**/*.css', gulp.parallel('waitForStyles'));
gulp.watch([settings.themeLocation + 'js/modules/*.js', settings.themeLocation + 'js/scripts.js'],
gulp.parallel('waitForScripts'));
});
gulp.task('waitForStyles', gulp.series('styles', function() {
return gulp.src(settings.themeLocation + 'style.css')
.pipe(browserSync.stream());
}))
gulp.task('waitForScripts', gulp.series('scripts', function(cb) {
browserSync.reload();
cb()
}))
我希望在每次更改代码之后,浏览器的视图和功能都能够更新。这只会在使用“gulp watch
”启动后发生一次。