在引发ReferenceError gulpfile

问题描述 投票:0回答:1
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收到此错误:"ReferenceError: sourcemaps is not defined"

javascript gulp phpstorm gulp-sass
1个回答
4
投票

error是不言自明:你指的是sourcemaps变量,而它不存在。

通常情况下,你需要在你的gulpfile的顶部声明它,就像这样:

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

然而,咕嘟咕嘟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');

并确保您需要安装的软件包。

© www.soinside.com 2019 - 2024. All rights reserved.