1. 运行gulpfile文件时报错
报错内容: TypeError: gulp.on(...).on(...).on(...).on(...).start is not a function
问题分析:一般这种情况是因为gulp版本引起的。
gulp本地版本和全局版本
解决方法:
gulp4.0.0更新变动较大,可以考虑把本地版本和全局版本都切回3.9.1版本。也有其他解决方法,详见参考文章2.
代码语言:javascript复制npm install --save-dev gulp@3.9.1
npm install -g gulp@3.9.1
参考文章:
- gulp和gulp-cli的区别
- Gulp error: gulp.hasTask is not a function
- Mismatch in gulp local and CLI versions
2. gulp-uglify压缩js文件时报错之 punc(()
报错内容: gulp SyntaxError: Unexpected token: punc (()
问题分析: 这种大多是js代码中包含ES6语法的函数声明方式。报错提供的行号不一定准确,只能自己找到使用ES6语法的位置,改成ES5。
解决方法: 把ES6代码替换成ES5代码。
3. gulp-uglify压缩js文件时报错之 Unexpected token name
报错内容: _Unexpected token name «p», expected punc «
问题分析: 问题原因同上,也是ES6语法引起的。不过这个是声明变量let
的原因。
解决方法: 把let
改成var
。
4. gulp-htmlmin
报错内容: throw er; // Unhandled 'error' event ^ Error: Parse Error: <= 95% </spa<div
问题分析: 遇到html压缩时的解析错误,此处是因为小于号<
引起的。
解决方法: 小于号<
改用编码方式<
。