Javascript Gulp3到Gulp4:如何观看SCS并将其缩小/编译为css?
在Gulp3中,当检测到更改时,使用以下代码将SCS放入css中。它将从旧的.scss文件中生成新的缩小文件,并将它们放入css文件夹中Javascript Gulp3到Gulp4:如何观看SCS并将其缩小/编译为css?,javascript,gulp,gulp-watch,gulp-sass,Javascript,Gulp,Gulp Watch,Gulp Sass,在Gulp3中,当检测到更改时,使用以下代码将SCS放入css中。它将从旧的.scss文件中生成新的缩小文件,并将它们放入css文件夹中 //=======gulpfile.js======= //dependencies var gulp = require('gulp'); var sass = require('gulp-sass'); var minifyCCS = require('gulp-clean-css'); var uglify =
//=======gulpfile.js=======
//dependencies
var gulp = require('gulp');
var sass = require('gulp-sass');
var minifyCCS = require('gulp-clean-css');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var changed = require('gulp-changed');
//Roots
var SCSS_SRC = './public/scss/*.scss';
var SCSS_DEST = './public/css';
//Compiling
gulp.task('compile_scss', function(){
return gulp.src(SCSS_SRC)
.pipe(sass())
.pipe(minifyCSS())
.pipe(rename({suffix: '.min'}))
.pipe(changed(SCSS_DEST))
.pipe(gulp.dest(SCSS_DEST));
});
//Detect changes in SCSS
gulp.task('watch_scss', function(){
gulp.watch(SCSS_SRC, ['compile_scss']);
});
//Run
gulp.task('default', ['watch_scss']);
然而,Gulp4完全改变了函数处理,我还没有找到一个简单的例子来演示如何简单地观看SCS并将其放入缩小的css中。我读过关于gulp.series和gulp.parallel的文章,但我认为这些东西都不是我想要的。在Gulp3中使用的上述代码在Gulp4中不再有效。cmd没有运行gulpwatch\u css
,而是向我抛出如下错误:
assert.js:350
犯错误;
^
AssertionError[ERR_ASSERTION]:必须指定任务函数
at Gulp.set[as\u setTask](D:\say my name RG\saymyname\node\u modules\undertaker\lib\set task.js:10:3)
在Gulp.task(D:\say my name RG\saymyname\node\u modules\undertaker\lib\task.js:13:8)
反对。(D:\say my name RG\saymyname\gulpfile.js:29:6)
at模块编译(内部/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:700:10)
在Module.load(内部/modules/cjs/loader.js:599:32)
在tryModuleLoad(内部/modules/cjs/loader.js:538:12)
at Function.Module._load(内部/modules/cjs/loader.js:530:3)
at Module.require(内部/modules/cjs/loader.js:637:17)
根据需要(内部/modules/cjs/helpers.js:22:18)
这一切都在本地主机节点服务器上,使用react。我尝试过寻找一个gulp.set函数,但没有找到任何类似的函数。有人说回到Gulp3是最简单的选择,但我有点想使用最新的软件
同时在cmd中运行
gulp compile_scss
,因此如果没有gulp.watch,则会出现如上所示的错误。您确实需要使用gulp.series:
//Detect changes in SCSS
gulp.task('watch_scss', function(){
gulp.watch(SCSS_SRC, gulp.series('compile_scss'));
});
//Run
gulp.task('default', gulp.series('watch_scss'));
你在这行有一个打字错误:
var minifyCCS = require('gulp-clean-css');
改为:
var minifyCSS = require('gulp-clean-css');
是一个很好的参考资料。非常感谢。我真的必须使用。系列一。我现在也明白了原因。也谢谢你的输入错误,我在cmd:p中也遇到了。再次感谢