vitepress项目打包失败报错及解决方案

背景:vitepress搭建帮助网站,本地运行时没有问题,打包时报错,现总结如下:

1. Package subpath ‘./xx’ is not defined by “exports”

在这里插入图片描述
解决方案:因为 vitepress默认是在服务器渲染 HTML返回客户端,如果你的某些包不需要在服务器端渲染,需要在.vitepress/config.mts中添加配置项,例如element-plus:

// .vitepress/config.mts
vite: {
   ssr: {
     noExternal: ['element-plus']
   }
}

2. require() of ES Module xxx.js not supported

在这里插入图片描述

在config.mts中添加配置项后,打包仍会报错,报错提醒需要动态导入,修改如下:

// .vitepress/theme/index.js
// 参考自:https://vitepress.dev/zh/guide/ssr-compat
export default {
  // ...
  async enhanceApp({ app }) {
    if (!import.meta.env.SSR) {
      import('element-plus').then((module) => {
	    app.use(module.install)
	  })
    }
  }
}

3.打包时内存溢出

在package.json的scripts对象中添加以下命令,其中max_old_space_size可以根据自己的实际情况设置,例如2048, 4096等;如果打包所有文件夹,命令即为build . 如果打包指定文件夹,例如docs文件夹,命令即为build docs

"docs:buildMax": "node --max_old_space_size=8096 ./node_modules/vitepress/bin/vitepress.js build .",
### 使用 VitePress 打包 Markdown 文件 VitePress 是一个基于 Vite 和 Vue 的静态站点生成器,专为编写技术文档而设计。要使用 VitePress 构建和打包 Markdown 文件,需遵循特定配置流程。 #### 安装依赖项 首先,在项目根目录下初始化 npm 并安装 VitePress 及其所需依赖: ```bash npm init -y npm install vitepress --save-dev ``` 此操作会创建 `package.json` 文件并将 VitePress 添加到开发依赖中[^1]。 #### 配置构建脚本 编辑 `package.json` 中的 scripts 字段来定义用于启动本地服务器以及生产环境下的构建命令: ```json { "scripts": { "docs:dev": "vitepress dev docs", "docs:build": "vitepress build docs" } } ``` 上述设置允许开发者通过运行 `npm run docs:dev` 启动开发模式服务,并可通过执行 `npm run docs:build` 命令来进行最终版本的编译工作[^2]。 #### 组织文档结构 通常建议将所有的 Markdown 文档放置在一个名为 `.md`,`.mdown`, 或者 `.markdown` 的扩展名文件里,并存放在项目的子文件夹(例如 `./docs`)之中。这样可以方便管理和维护这些文档资源。 #### 设置主题样式 为了增强用户体验,可以在 `.vuepress/config.js` 文件内指定所使用的代码高亮库及其配色方案。比如设定 CodeMirror 组件至 markdown 模式并应用 monokai 主题风格: ```javascript module.exports = { themeConfig: { codeTheme: 'monokai', enhanceAppFiles: [ './.vuepress/enhanceAppFile.js' ] }, }; ``` 这段 JavaScript 代码片段展示了如何自定义应用程序级别的功能与外观属性。 #### 实际案例中的实践 当涉及到具体应用场景时,如利用 InternLM 进行模型微调的过程中产生的笔记或教程类文档,则可按照前述方法整理成 Markdown 格式的文本文件保存于相应路径之下。之后借助 VitePress 提供的强大工具链实现高效便捷的内容发布过程[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值