首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gulp:控制台出错,assert.js:90抛出新的assert.AssertionError

Gulp:控制台出错,assert.js:90抛出新的assert.AssertionError
EN

Stack Overflow用户
提问于 2016-07-04 10:25:36
回答 7查看 24.2K关注 0票数 15

我在控制台中遇到了这样一个错误:$ gulp

代码语言:javascript
复制
assert.js:90
  throw new assert.AssertionError({
  ^
AssertionError: Task function must be specified

at Gulp.set [as _setTask] (C:\Users\user\Projects\New project\node_modules\undertaker\lib\set-task.js:10:3)

at Gulp.task (C:\Users\user\Projects\New project\node_modules\undertaker\lib\task.js:13:8)

at Object.<anonymous> (C:\Users\user\Projects\New project\gulpfile.js:44:6)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:458:32)
at tryModuleLoad (module.js:417:12)
at Function.Module._load (module.js:409:3)
at Module.require (module.js:468:17)
at require (internal/module.js:20:19)

这是我的吞咽文件:

代码语言:javascript
复制
var gulp = require('gulp');
var build = require('gulp-build');
var sass = require('gulp-sass');
var sourcemaps = require('gulp-sourcemaps');
var browser_sync = require('browser-sync');
var gulps = require("gulp-series");


//gulp-build
gulp.task('build', function() {
    gulp.src('scripts/*.js')
        .pipe(build({
            GA_ID: '123456'
        }))
        .pipe(gulp.dest('dist'))
});

//gulp-sass
gulp.task('sass', function() {
    return gulp.src('scss/**/*.scss')
        .pipe(sourcemaps.init())
        .pipe(sass({
            errLogToConsole: true,
            outputStyle: 'expanded'
        }).on('error', sass.logError))
        .pipe(sourcemaps.write('./maps'))
        .pipe(gulp.dest('css'));
});

//gulp-browser-sync
gulp.task('browser_sync', function() {
    var files = [
        '*.html',
        'css/*.css'
    ];
    browser_sync.init(files, {
        server: {
            baseDir: './'
        }
    });
});

//gulp-watch
gulp.task('watch', ['sass'], function() {
    gulp.watch('scss/**/*.scss', ['sass']);
});

//gulp-series
gulps.registerTasks({
    "test1": (function(done) {
        setTimeout(function() {
            console.log("test1 is done");
            done();
        }, 1000);
    }),
    "test2": (function() {
        console.log("test2 is done");
    })
});

gulps.registerSeries("default", ["test1", "test2"]);

// gulp.task('default', ['watch', 'browser_sync'], function() {});

我只是个初学者,你知道我做错了什么吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2016-07-04 10:48:05

我想你用gulp 4和gulp 3‘语法’。

所以,要么安装gulp 3,然后你的gulp文件应该是有效的,并且准备好了,要么将它迁移到gulp 4。这里是一篇很好的关于它的文章。

吞咽的Changelog

票数 37
EN

Stack Overflow用户

发布于 2018-03-20 12:15:48

gulp 4系列(...tasks)

代码语言:javascript
复制
gulp.task('one', function(done) {
// do stuff
done();
});

gulp.task('two', function(done) {
// do stuff
done();
});

gulp.task('default', gulp.series('one', 'two', function(done) {
// do more stuff
done();
}));

请参阅https://github.com/gulpjs/gulp/blob/4.0/docs/API.md

票数 11
EN

Stack Overflow用户

发布于 2018-10-17 10:30:25

gulp自动安装4.0.0版本

通过在命令下面运行,更改gulp的版本

代码语言:javascript
复制
 npm install gulp@3.3.4 --save

这会解决你的问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38182410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档