javascript - Gulp AssertionError - Sass 依赖项

标签 javascript gulp gulp-watch gulp-sass

尝试通过本教程来获得初学者的感觉:

https://www.youtube.com/watch?v=nusgoj74a3Y

目前在运行 gulp 时遇到这个错误,有什么想法吗?:

gulp文件.js

'use strict';


//dependancies
var gulp = require('gulp');
var sass = require('gulp-sass');
var minifyCSS = require('gulp-clean-css');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var changed = require('gulp-changed');


// - SCSS/CSS

var SCSS_SRC = './src/Assets/scss/**/*.scss';
var SCSS_DEST = './src/Assets/css';


gulp.task('compile_scss', function() {

  gulp.src(SCSS_SRC)
  .pipe(sass().on('error', sass.logError))
  .pipe(minifyCSS())
  .pipe(rename({ suffix: '.min' }))
  .pipe(changed(SCSS_DEST))
  .pipe(gulp.dest(SCSS_DEST));

});

gulp.task('watch_scss', function() {
  gulp.watch(SCSS_SRC, ['compile_scss']);
});

gulp.task('default', ['watch_scss']);

输出

assert.js:269
    throw err;
    ^

AssertionError [ERR_ASSERTION]: Task function must be specified
at Gulp.set [as _setTask] (/Users/ss/Desktop/reactTest/my-app/node_modules/undertaker/lib/set-task.js:10:3)
at Gulp.task (/Users/ss/Desktop/reactTest/my-app/node_modules/undertaker/lib/task.js:13:8)
at Object.<anonymous> (/Users/ss/Desktop/reactTest/my-app/gulpfile.js:34:6)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Module.require (internal/modules/cjs/loader.js:650:17)
at require (internal/modules/cjs/helpers.js:20:18)

有点难过,感谢任何帮助。

最佳答案

您正在使用 gulp 4,术语已更改为

'use strict';


//dependancies
var gulp = require('gulp');
var sass = require('gulp-sass');
var minifyCSS = require('gulp-clean-css');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var changed = require('gulp-changed');


// - SCSS/CSS

var SCSS_SRC = './src/Assets/scss/**/*.scss';
var SCSS_DEST = './src/Assets/css';


gulp.task('compile_scss', function() {

  gulp.src(SCSS_SRC)
  .pipe(sass().on('error', sass.logError))
  .pipe(minifyCSS())
  .pipe(rename({ suffix: '.min' }))
  .pipe(changed(SCSS_DEST))
  .pipe(gulp.dest(SCSS_DEST));

});

gulp.task('watch_scss', function() {
  gulp.watch(SCSS_SRC, gulp.series('compile_scss'));
});

gulp.task('default', ['watch_scss']);

基本上运行文件更健壮。您现在可以取消 runSequence 等插件,因为它具有所有这些功能。

基本上你能做的就是走

gulp.task('build', function (callback) {
    runSequence('runFirst', ['ranTogether1','ranTogether2'], 'ranLast'), callback
});

gulp.task('build',
  gulp.series('runFirst', gulp.parallel('ranTogether1', 'ranTogether2'),'ranLast'),
  function() {...}));

More info here

关于javascript - Gulp AssertionError - Sass 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50764330/

相关文章:

javascript - Gulp不会构建js

gulp - 从 gulp-watch 抛出类型错误中排除子目录

node.js - 将gulp插件保存到项目中

javascript - 将 AVVideoComposition 初始值设定项转换为 Nativescript

javascript - 在express.js中,有没有办法同时处理ajax表单提交和浏览器帖子提交?

javascript - 将 Array.prototype.sort() 与比较函数一起使用时的排序算法是什么

javascript - Gulp-coffee 删除不存在的文件

javascript - 如何结合 gulp-watch 和 gulp-inject?

javascript - Gulp:以更少的方式启用内联 Javascript

javascript - RedirectToAction 在 IE(Internet Explorer - 8+) MVC4 Razor 中不起作用