我在配置要查看的gulp文件时遇到问题。当我运行默认任务时,它会运行它应该执行的所有作业,但是如果我添加文件或对任何SCSS文件进行更改,它就不会运行sass作业(I'我还假设它不会运行imagemin或js-watch)。
以下是我的gulp文件
var pkg = require('./package.json');
var gulp = require('gulp');
const BrowserSync = require('./gulp-tasks/browser-sync');
const Sass = require('./gulp-tasks/sass');
const Scripts = require('./gulp-tasks/scripts');
const Svg = require('./gulp-tasks/svg-sprite');
const Img = require('./gulp-tasks/img-min');
gulp.task('browser-sync-init', BrowserSync.initialize);
gulp.task('js-watch', ['js'], BrowserSync.reload);
gulp.task('reload-watch', ['copy'], BrowserSync.reload);
gulp.task('sass', Sass.build);
gulp.task('lint', Scripts.lint);
gulp.task('js', ['lint'], Scripts.build);
gulp.task('copy', function(){
gulp.src(`${pkg.config.themeRoot}/**/*.html`)
.pipe(gulp.dest(pkg.config.dist));
});
gulp.task('imagemin', Img.imgmin);
gulp.task('svg', Svg.build);
gulp.task('default', ['sass', 'js', 'imagemin', 'browser-sync-init'], function(){
gulp.watch(`${pkg.config.scss}/**/*.scss`, ['sass']);
gulp.watch(`${pkg.config.scripts}/**/*.js`, ['js-watch']);
gulp.watch(`${pkg.config.images}/source/**`, ['imagemin']);
});
这是pkg.config.scss
的定义"scss": "wp-content/themes/grpw67000/assets/scss",
我可能做错了什么?
答案 0 :(得分:2)
var pkg = require('./package.json');
var gulp = require('gulp');
const BrowserSync = require('./gulp-tasks/browser-sync');
const Sass = require('./gulp-tasks/sass');
const Scripts = require('./gulp-tasks/scripts');
const Svg = require('./gulp-tasks/svg-sprite');
const Img = require('./gulp-tasks/img-min');
gulp.task('browser-sync-init', BrowserSync.initialize);
gulp.task('js-watch', ['js'], BrowserSync.reload);
gulp.task('reload-watch', ['copy'], BrowserSync.reload);
gulp.task('sass', Sass.build);
gulp.task('lint', Scripts.lint);
gulp.task('js', ['lint'], Scripts.build);
gulp.task('copy', function(){
gulp.src(`${pkg.config.themeRoot}/**/*.html`)
.pipe(gulp.dest(pkg.config.dist));
});
gulp.task('imagemin', Img.imgmin);
gulp.task('svg', Svg.build);
// Watch task for gulp
gulp.task('watch', function () {
gulp.watch(`${pkg.config.scss}/**/*.scss`, ['sass']);
gulp.watch(`${pkg.config.scripts}/**/*.js`, ['js-watch']);
gulp.watch(`${pkg.config.images}/source/**`, ['imagemin']);
});
gulp.task('default', ['sass', 'js', 'imagemin', 'browser-sync-init', 'watch']);
尝试为gulp
功能添加单独的watch
任务。
如果这不起作用,请检查
${pkg.config.scss}
正确设置路径前缀。