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"
该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
任务时碰到了同样的问题。你需要定义uglify
和rename
:
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
并确保您需要安装的软件包。