官方文档如下:
一。 直接使用 createContentLoader
- 报错情况1
不能找到模块createContentLoader
原因 这是 NodeJS 编译构建时期的API,借助Vite 的glob完成的。
所以需要严格检查是否在编译完成后调用了
- 报错情况2
XXX 不能为XXX
原因 该 API严格要求数据加载的脚本文件命名 必须以 xxx.data.js结尾
如prod.data.ts
、posts.data.js
之类
- 保存问题3
不能找到文件/请检查文件是否存在
必需使用JS结尾导入
比如,在目录下有如下文件
----.vitepress
|--- config.ts
|--- posts.data.ts
|--- components
|--- Article.vue
---- ...其他文件
<template>
<div> {{ posts }} </div>
</template>
<script setup lang="ts">
import { data as posts } from "posts.data.js" //注意此处的引入 为JS
</script>
- 报错情况4
ESM 不能使用require
建议通过以下方式将你的配置文件转换为 ESM 格式:
- 在邻近的
package.json
中添加"type": "module"
- 将
vite.config.js
/vite.config.ts
重命名为vite.config.mjs
/vite.config.mts
二。自行定义构建数据加载函数
要有无论是否异步
文件的默认导出必需具有load方法
如
export default {
// <ref ...>
load:()=>{
// method body
}
}