我正在尝试让gulp在Windows 7上运行。
我已经下载了npm (6.4.1)
已安装gulp(CLI version 3.9.1 , Local version 4.0.0)
我已经在主题文件中完成了npm init
。
但我知道
assert.js:351 犯错 ^ AssertionError [ERR_ASSERTION]:必须指定任务功能
看着类似的错误,我决定从以下位置更改gulp.js:
gulp.task('browser-sync', ['sass'], function() {
browserSync.init({
proxy: "local.mysite.co:8080",
notify: true
});
});
收件人:
gulp.task('browser-sync', gulp.series( 'sass', function() {
browserSync.init({
proxy: "local.mysite.co:8080",
notify: true
});
}));
但是我现在得到:
assert.js:351 犯错 ^ AssertionError [ERR_ASSERTION]:从未定义任务:sass
答案 0 :(得分:0)
已删除项目文件夹中的node_modules
文件夹。在终端(在项目文件夹中)中运行以下命令:
npm install gulp --save-dev .
现在可以使用
答案 1 :(得分:0)
通常,从gulp3迁移到gulp4时出现错误Task never defined:
意味着您正在注册一个任务。
对于您而言,我敢打赌,下面的'browser-sync
'任务是在'sass
'任务之前定义的。
gulp.task('browser-sync', gulp.series( 'sass', function() {
只需将您的gulp.task('sass', ………)
移到“ browser-sync
”任务之前即可。
或更改为新的功能符号,例如:
function sass() {
return gulp.src(paths.sass.stylesFile)
.pipe(sass().on("error", sass.logError))
.pipe(gulp.dest(paths.css.temp))
.pipe(reload({ stream: true }));
}
和顺序问题不大。但是,如果您走这条路线,还需要进行其他更改。不必这样做-您可以如上所述移动sass
任务。