它是在 gulp 3 中编程的,但是当我更新它时它停止工作,现在当我运行 gulp 命令时出现这种情况:
assert.js:348
throw err;
^
AssertionError [ERR_ASSERTION]: Task function must be specified
at Gulp.set [as _setTask] (C:\Users\alext\Desktop\Platzigram\node_modules\undertaker\lib\set-task.js:10:3)
at Gulp.task (C:\Users\alext\Desktop\Platzigram\node_modules\undertaker\lib\task.js:13:8)
at Object.<anonymous> (C:\Users\alext\Desktop\Platzigram\gulpfile.js:31:6)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:20:18)
版本是:
gulp -v
[20:34:05] CLI version 2.0.1
[20:34:05] Local version 4.0.0
我的 gulpfile.js 代码是:
var gulp = require('gulp');
var sass = require('gulp-sass');
var rename = require('gulp-rename');
var babel = require('babelify');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
gulp.task('styles', function(){
gulp
.src('index.scss')
.pipe(sass())
.pipe(rename('app.css'))
.pipe(gulp.dest('public'));
})
gulp.task('assets', function(){
gulp
.src('assets/*')
.pipe(gulp.dest('public'));
})
gulp.task('scripts', function(){
browserify('./src/index.js')
.transform(babel)
.bundle()
.pipe(source('index.js'))
.pipe(rename('app.js'))
.pipe(gulp.dest('public'));
})
gulp.task('default', ['styles','assets','scripts']);
在此出现之前,一切正常,一切正常,但是当它执行时它告诉我它有 5 个漏洞,当修复它时,它一开始就向我发送了错误。
我遇到了同样的问题,碰巧现在 gulp@4 有额外的参数可以让你迁移一些任务的语法,但现在它更有序了。我给你留了一个链接 [英文] 更多细节: https ://codeburst.io/switching-to-gulp-4-0-271ae63530c0
无论如何,现在你应该使用以下
我希望我对你有所帮助