BrowserSync和Gulp观看不观看CSS和JavaScript文件

时间:2018-08-25 14:41:14

标签: javascript css gulp browser-sync gulp-watch

我正在将xammp用于我的wordpress网站,但无法在css和javascript的目标文件中看到更改。尽管browserSync对于html文件效果很好,因为它会自动重新加载浏览器。

我不知道为什么,我的gulp文件出了什么问题。

这是Gulp文件的js代码

var gulp = require('gulp'),
settings = require('./settings'),
webpack = require('webpack'),
browserSync = require('browser-sync').create(),
watch = require('gulp-watch'),
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', ['waitForStyles']);
  gulp.watch([settings.themeLocation + 'js/modules/*.js', settings.themeLocation + 'js/scripts.js'], ['waitForScripts']);
});

gulp.task('waitForStyles', ['styles'], function() {
   gulp.src(settings.themeLocation + 'style.css')
    .pipe(browserSync.stream()); 
});

gulp.task('waitForScripts', ['scripts'], function() {
  browserSync.reload();
});

0 个答案:

没有答案