当 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,可以少走许多弯路。