javascript - gulpfile 中的引用错误

标签 javascript gulp phpstorm gulp-sass

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未定义”

最佳答案

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');

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

关于javascript - gulpfile 中的引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54568157/

相关文章:

gulp - 使用 Gulp Jshint 显示错误总数

javascript - 使用 gulp 捆绑后内联 JS ind EJS 文件

phpstorm - 更改 WebStorm 中的代码自动完成功能

jquery - 如何通过 JavaScript 检查 Firebug 中的元素?

javascript - 为什么 Chrome 不显示我的 User Timing API 使用情况的任何数据?

JavaScript 代码仅适用于 IE

javascript - 如何阻止激烈的 Javascript 循环卡住浏览器

vagrant - Gulp livereload 什么都不做

phpstorm - 有没有办法将本地主机端口更改为 8888?

php - Zend Studio 浏览器工具栏替代 PhpStorm 3?