Hexo博客升级随笔
本文于994天之前发表,文中内容可能已经过时。
最近 hexo 博客升级,把遇到的问题做个备份。
由于长时间没同步该博客文章,Jenkins
打包的时候提示
1 | ReferenceError: primordials is not defined |
虽然可以发布成功并 push 到远程仓库,但是所有生成的文件内容为空
原因:node
版本过高,gulp
版本过低导致不兼容
解决方式一:
尝试降级node 版本解决 降到 v12
之前
解决方式二:
网上找到的,但我用了没解决
使用npm shrinkwrap
锁定依赖版本
- 项目根目录新建
npm-shrinkwrap.json
- npm-shrinkwrap.json内容修改如下:
1 | { |
解决方式三:
前端肯定要探索前沿技术,用新不用旧。那只能升级 gulp
了
1 | npm install --save-dev gulp@4.0.0 |
但是升级后的 gulp 语法有改动,所以需要修改 gulpfile.js
文件,否则会报
1 | TypeError: gulp.on(…).on(…).on(…).on(…).start is not a function |
gulp.series
用于串行(顺序)执行gulp.parallel
用于并行执行
上面的两个函数接受两个参数:
- 要执行的任务的名字
- 需要执行的函数
1 | gulp.task('task1', gulp.series('task1-1', function (done) { |
进入官方文档查看,官方的意思是,4.0.0版本的,“default”右边两个参数放在gulp.series()的参数中,否则会报错
1 | // 我的部分 gulp 代码 |
gulp报错gulpInst.start.apply(gulpInst, toRun)
一般是因为gulp cli
和gulp
版本不兼容或者没有安装gulp cli
导致的
进行全局安装
1 | npm i -g gulp-cli |
执行后,报错提示已经存在
此时就需要删除已经安装的版本,重新进行安装
1 | sudo rm /usr/local/bin/gulp |
然后执行gulp,可以成功运行。