Gulp:控制台错误,assert.js:90抛出新的assert.AssertionError
Gulp: error in console, assert.js:90 throw new assert.AssertionError
我在控制台得到这样的错误:美元吞咽
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)
这是我的gulpfile:
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() {});
我只是一个初学者,你知道我做错了什么吗? 我认为你用的是gulp4和gulp3的语法。
因此,要么安装gulp3,你的gulpfile应该是有效的,准备好了,要么将它迁移到gulp4。这里有一篇很好的文章。
gulp
gulp 4 series(…tasks)
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
gulp自动安装4.0.0版本
通过运行下面的命令
来更改gulp的版本 npm install gulp@3.3.4 --save
我用下面的命令解决了这个问题
npm install --save-dev gulp@3.9.1
这将解决您的问题(我解决了窗口7和窗口10的问题)
刚刚通过了同样的错误,DAXaholic的答案是正确的,您的gulpfile.js
为gulp@3。但是你已经安装了gulp4。请安装正确的版本:
npm i -D gulp@3.*
包中的更改。
"gulp": "^3.9.1",
使用Gulp -v命令检查Gulp的CLI版本和本地版本。
CLI version 3.9.1
本地版本3.9.1
if it's not equal this error may occur.
还有一件重要的事情要注意,如果你得到
"AssertionError: Task never defined: two"
可能是因为任务应该按顺序排列,所以第一个任务一任务二然后是带有
的任务饮而尽。系列("1","2")
我解决了这个问题:
<>之前NPM install gulp-cli安装gulp -DNPX -p touch nodetouch .js之前gulp.js中可用的默认安装命令希望能有所帮助,
相关文章:
- console.assert失败时中断chrome调试器
- 如何在JavaScript中使用Mocha和assert.throws测试参数的值
- Node.js assert.deep等于2个值
- 使用自定义断言帮助程序对cli扩展assert进行ember-cli扩展
- Node.js assert.throws with async functions (Promises)
- assert.throws on asynchronous method
- Nitghwatch.js -- assert.hidden 在页面的一部分上
- 带有nodejs的mocha为assert(false)而不是error断言挂起/超时
- 浏览器中的Mocha:如何使用chai.assert获取报告
- 一个不需要输入错误消息的assert函数
- 在node.js中启用/禁用assert语句的简单方法
- 为什么Node.js Assert没有notOk()方法?
- assert failed: InvalidValueError: setContent:不是字符串
- Assert数组包含Chai数组
- 当其中一个值是函数时,mocha assert. deeequal
- 在摩卡失败的“断言”中;In assert函数导致超时而不是失败
- 在assert抛出中匹配regexp
- assert (request .assert)在nodejs中是如何工作的?
- Gulp:控制台错误,assert.js:90抛出新的assert.AssertionError
- Assert模块在nodejs中的使用