当 GULP 遇上 ES6—— 该更新了
趁着 Hexo 3.9 升级,用 npm update
把环境升级了一波,然后就发现 gulp
挂了,这是一篇手欠升级系统环境后的填坑记录
系统环境
直接把 Hexo
根目录下的 package.json
贴上来吧
1 | { |
事情经过
系统升级后,执行 gulp
时报错:GulpUglifyError: unable to minify JavaScript
,查质料得知是 gulp
解析不了 ES6 语法,网上折腾一圈使用了各种方式均无效,比如gulp-util
、babel-preset-es2015
、gulp-babel,然后配置一个.babelrc的文件
,最后发现其实是资料过时了:
gulp-babel
已经更新到 8.0.0,不需要再使用.babelrc
文件
解决方式
先安装新版 gulp-babel 和相关依赖:
1 | npm install --save-dev gulp-babel @babel/core @babel/preset-env |
然后修改 gulpfile.js
,增加 gulp-babel
的引入,并在压缩 js 时增加处理步骤
1 | var gulp = require('gulp'); |
只需两步操作就解决了,再次 hexo g && gulp && hexo s
一切正常,吃一堑长一智,网络上引用资料要注意版本坏境匹配,最好是直接找官网 FAQ,可以少走许多弯路。