gulpfile中的ReferenceError

时间:2019-02-07 07:19:14

标签: javascript gulp phpstorm gulp-sass

element.xpath("ancestor::*)

var gulp = require('gulp'); var sass = require('gulp-sass'); gulp.task('sass', done => { gulp.src('./css/**/*.sass') .pipe(sourcemaps.init()) .pipe(sass({outputStyle: 'expanded'}).on('error', sass.logError)) .pipe(sourcemaps.write('.')) .pipe(gulp.dest('.')); done() }); gulp.task('sass:watch', done => { gulp.watch('./css/**/*.sass', gulp.series('sass')); done() }); gulp.task('compressed-js', done => { gulp.src('js/src/*.js') .pipe(uglify()) .pipe(rename({suffix: '.min'})) .pipe(gulp.dest('js')); done() }); gulp.task('compressed-js:watch', done => { gulp.watch('./js/src/*.js', gulp.series('compressed-js')); done() }); 中出现此错误phpstorm

1 个答案:

答案 0 :(得分:4)

error很不言自明:您指的是sourcemaps变量,但它不存在。

通常,您需要在gulpfile的顶部声明它,如下所示:

var sourcemaps = require('gulp-sourcemaps');

但是,Gulp 4具有sourcemap functionality built-in,因此您可以像这样重写sass任务:

gulp.task('sass', () =>
  gulp.src('./css/**/*.sass', { sourcemaps: true })
    .pipe(sass({ outputStyle: 'expanded' }).on('error', sass.logError))
    .pipe(gulp.dest('.', { sourcemaps: '.' }))
);

请注意,我删除了done回调,如果您只返回流,则不需要此回调。

请注意,在运行compressed-js任务时会遇到相同的问题。您需要定义uglifyrename

var uglify = require('gulp-uglify');
var rename = require('gulp-rename');

并确保已安装所需的软件包。