前段时间,将node升级了一下,结果发现gulp 执行不了了,一直报错ReferenceError: primordials is not defined
原因
这里主要是因为node 和 gulp 的版本,相差太大导致的
//查看一下版本
node -v
gulp -v
如果版本 node >=12 && gulp <= 3,那么就有问题,需要改动一下。
既然node升级导致的,那么就把gulp 也升级一下(node也可以降级,但是不建议)
升级gulp
这里强烈提示一下:gulp命令和你通过npm安装的gulp包可不是同一个东西
gulp-cli
想执行 gulp 命令 ,需要先安装gulp-cli,它可以运行gulpfile 文件
npm install -g gulp-cli
gulp -v
gulp包
gulpfile里require 引用的gulp,需要这样整
npm install -save-dev gulp@4
然后编写gulpfile:
const gulp4 = require("gulp')
修改gulpfile
升级gulp 后,Gulp 4中需要使用 gulp.series(顺序执行)和gulp.paralle(并行计算),因为gulp任务现在只有两个参数,第二个参数必须为函数。所以将数组改为顺序执行函数
//示例
gulp.task("default", gulp.series("webserver"));