Skip to content

vitepress 升级为 ESmodule 模式

首先恭喜 🎉 vitepress 自发布以来首次进入 rc 版本,在升级到 rc 版本之前,有一件需要注意的事情,就是 vitepress 从 CommonJS 模式升级为 ESmodule 模式,需要在 package.json 中配置 esmodule 选项,如下所示:

package.json

json
{
  "type": "module"
}

一般情况下,如果你没有添加额外的插件或者功能,那么就已经升级完毕了。以下仅针对个人配置进行记录:

md 插件改造升级

为了博客 markdown 的功能更加丰富,我额外添加了 2 个 md 插件:markdown-it-task-checkboxmarkdown-it-footnote

导入位置在docs/.vitepress/config.ts中,把 CommonJS 导入改为 ESmodule 导入。

typescript
import footnote from 'markdown-it-footnote'
import taskLists from 'markdown-it-task-checkbox'
typescript
const footnote = require('markdown-it-footnote')
const taskLists = require('markdown-it-task-checkbox')

提交约束类插件改造升级

为了更好的实现博客的提交约束,我额外以下插件进行 git 约束提交:

json
{
  "commitizen": "^4.3.0",
  "commitlint": "^17.7.1",
  "commitlint-config-gitmoji": "^2.3.1",
  "conventional-changelog-gitmoji-config": "^1.5.2",
  "cz-message-helper": "^1.3.0",
  "husky": "^8.0.0",
  "standard-version": "^9.5.0"
}

commitizen 改动

移除了.czrc配置文件,将配置写入package.json中:

json
{
  "config": {
    "commitizen": {
      "path": "node_modules/cz-message-helper"
    }
  }
}

cz-message-helper 改动

package.json中添加了cz-message-helper配置:

json
{
  "config": {
    "cz-message-helper": {
      "config": ".cz-message.cjs"
    }
  }
}

同时,将根目录的.cz-message.js文件改名为cz-message.cjs

commitlint 改动

将根目录的.commitlintrc.js文件改名为.commitlintrc.cjs

changelogrc 改动

移除了.changelogrc.js配置文件,将配置写在package.json中:

json
  "config": {
    "changelog": {
      "titleLanguage": "zh-CN"
    }
  }