当前位置: 首页 > 技术教程 > 正文
流量卡

Hexo博客升级随笔

游魂 发表于2021年11月16日 13:36

最近 hexo 博客升级,把遇到的问题做个备份。

由于长时间没同步该博客文章,Jenkins 打包的时候提示

ReferenceError: primordials is not defined

虽然可以发布成功并 push 到远程仓库,但是所有生成的文件内容为空

原因:node 版本过高,gulp 版本过低导致不兼容

解决方式一:

尝试降级node 版本解决 降到 v12之前

解决方式二:

网上找到的,但我用了没解决

使用npm shrinkwrap锁定依赖版本

{
  "dependencies": {
    "graceful-fs": {
        "version": "4.2.2"
     }
  }
}

解决方式三:

前端肯定要探索前沿技术,用新不用旧。那只能升级 gulp

npm install --save-dev gulp@4.0.0

但是升级后的 gulp 语法有改动,所以需要修改 gulpfile.js文件,否则会报

TypeError: gulp.on(…).on(…).on(…).on(…).start is not a function

上面的两个函数接受两个参数:

gulp.task('task1', gulp.series('task1-1', function (done) {
   // task 1 code here
    done();
}));

gulp.task('task2', gulp.series('task2-1', function (done) {
   // task 2 code here
    done();
}));

// Similarly Tasks 3 and 4 Code here

gulp.task('main', gulp.series('task1', 'task2', 'task3', 'task4', function (done) {
    done();
}));

进入官方文档查看,官方的意思是,4.0.0版本的,“default”右边两个参数放在gulp.series()的参数中,否则会报错

// 我的部分 gulp 代码
// 执行task
gulp.task('deploy',gulp.series('minify-css','minify-js',gulp.parallel('rev','minify-html')));

// 部署前代码处理
gulp.task('default',gulp.series(['deploy'],function(e){
  console.log("[complete] please execute: hexo d");
}))

gulp报错gulpInst.start.apply(gulpInst, toRun)

一般是因为gulp cligulp版本不兼容或者没有安装gulp cli导致的

进行全局安装

npm i -g gulp-cli

执行后,报错提示已经存在

此时就需要删除已经安装的版本,重新进行安装

sudo rm /usr/local/bin/gulp
sudo rm /usr/local/share/man/man1/gulp.1
npm i -g gulp-cli

然后执行gulp,可以成功运行。

全文完
本文标签: JenkinsGulpHexohexo博客Hexo升级
本文标题: Hexo博客升级随笔
本文链接: https://www.iyouhun.com/m/?post=193

〓 随机文章推荐

共有2223阅 / 0我要评论
  1. 还没有评论呢,快抢沙发~

发表你的评论吧返回顶部

!评论内容需包含中文

请勾选本项再提交评论