问题描述
我正在尝试运行下面的命令,但不幸的是我遇到了错误.
I'm trying to run the command below but unfortunately I run into an error.
C:UsersusverDesktopgit testgitBootstrap4conFusion>gulp
运行上述命令后出现断言错误.我再次重新安装了 gulp 和 npm,但得到了同样的错误.我的节点版本-v10.15.0吞咽版本-CLI 版本 2.0.1本地版本 4.0.2
I got assertion error after running the above command. I reinstalled gulp and npm once again but got the same error. My node version-v10.15.0 gulp version- CLI version 2.0.1 Local version 4.0.2
assert.js:350
throw err;
^
AssertionError [ERR_ASSERTION]: Task function must be specified
at Gulp.set [as _setTask] (C:UsersusverDesktopgit testgitBootstrap4conFusion
ode_modulesundertakerlibset-task.js:10:3)
at Gulp.task (C:UsersusverDesktopgit testgitBootstrap4conFusion
ode_modulesundertakerlib ask.js:13:8)
at Object.<anonymous> (C:UsersusverDesktopgit testgitBootstrap4conFusiongulpfile.js:30: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:22:18)
我使用 Windows 10 操作系统和 VS Code 作为编辑器.
I m Using Windows 10 Operating System and VS Code as an editor.
gulp.js 文件:
gulp.js file:
'use strict';
var gulp=require('gulp'),
sass=require('gulp-sass'),
browserSync=require('browser-sync');
gulp.task('sass',function(){
return gulp.src('./css/*.scss')
.pipe(sass().on('error',sass.logerror))
.pipe(gulp.dest('./css'));
});
gulp.task('sass:watch',function(){
gulp.watch('./css/*.scss',['sass']);
});
gulp.task('browser-sync',function(){
var files=[
'./*.html',
'./css/*.css',
'./js/*.js',
'./img/*.{png,jpg,gif}'
];
browserSync.init(files,{
server:{
baseDir:'./'
}
});
});
gulp.task('default',['browser-sync'],function(){
gulp.start('sass:watch');
});`
package.json 文件
package.json file
{
"name": "confusion",
"version": "1.0.0",
"description": "This is a website for Ristorante Con Fusion",
"main": "index.html",
"scripts": {
"start": "npm run watch:all",
"test": "echo "Error: no test specified" && exit 1",
"lite": "lite-server",
"scss": "node-sass -o css/ css/",
"watch:scss": "onchange "css/*.scss" --npm run scss",
"watch:all": "parallelshell "npm run watch:scss" 'npm run lite'",
"clean": "rimraf dist",
"copyfonts": "copyfiles -f node_modules/font-awesome/fonts/* dist/fonts",
"imagemin": "imagemin img/* -o dist/img",
"usemin": "usemin contactus.html -d dist --htmlmin -o dist/contactus.html && usemin aboutus.html -d dist --htmlmin -o dist/aboutus.html && usemin index.html -d dist --htmlmin -o dist/index.html",
"build": "npm run clean && npm run copyfonts && npm run imagemin && npm run usemin"
},
"author": "",
"license": "ISC",
"devDependencies": {
"browser-sync": "^2.26.7",
"cssmin": "^0.4.3",
"del": "^3.0.0",
"grunt-browser-sync": "^2.2.0",
"grunt-cli": "^1.2.0",
"grunt-contrib-clean": "^1.1.0",
"grunt-contrib-concat": "^1.0.1",
"grunt-contrib-copy": "^1.0.0",
"grunt-contrib-cssmin": "^2.2.1",
"grunt-contrib-htmlmin": "^2.4.0",
"grunt-contrib-imagemin": "^3.1.0",
"grunt-contrib-uglify": "^3.3.0",
"grunt-contrib-watch": "^1.1.0",
"grunt-filerev": "^2.3.1",
"grunt-sass": "^2.1.0",
"grunt-usemin": "^3.1.1",
"gulp": "^4.0.2",
"gulp-sass": "^3.1.0",
"htmlmin": "0.0.7",
"jit-grunt": "^0.10.0",
"lite-server": "^2.3.0",
"node-sass": "^4.12.0",
"onchange": "^6.0.0",
"parallelshell": "^3.0.2",
"rimraf": "^2.6.2",
"time-grunt": "^1.4.0",
"uglifyjs": "^2.4.11",
"usemin-cli": "^0.5.1"
},
"dependencies": {
"bootstrap": "^4.3.1",
"bootstrap-social": "^5.1.1",
"font-awesome": "^4.7.0",
"grunt": "^1.0.4",
"jquery": "^3.4.1",
"popper.js": "^1.12.9"
}
}
我已经包含 gulp.js 和 package.json 文件.
I've include gulp.js and package.json file.
推荐答案
您在 gulp4 文件中使用 gulp3 语法.
You are using gulp3 syntax in a gulp4 file.
搜索你的错误信息Task function must be specified
,你会得到很多点击.
Search your error message Task function must be specified
and you will get lots of hits.
更改这些行:
gulp.task('sass:watch',function(){
// gulp.watch('./css/*.scss',['sass']);
gulp.watch('./css/*.scss', gulp.series('sass'));
// gulp.watch('./css/*.scss', 'sass'); // should work too
});
和
// gulp.task('default',['browser-sync'],function(){
//gulp.start('sass:watch');
// });
到
gulp.task('default', gulp.series('browser-sync', 'sass:watch'));
看起来您正在学习旧的 gulp3 教程,但请寻找一些从 gulp3 到 gulp4 的迁移指南.
It looks like you were working off of an old gulp3 tutorial but look for some migration guides from gulp3 to gulp4 instead.
这篇关于每次在命令行中运行 gulp 时出现断言错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!