经验教训
这里的内容与库本身无关,仅仅是作者本人的经验教训。
找不到主题的错误
在单独的项目内使用该库,会出现主题找不到的错误。是因为主题配置
应该直接使用 ts 文件,使用 js 文件会报错。
文档配置无法识别 ts 后缀
文档配置
和主题配置
不同,文档配置必须要用 js 文件,否则会出现报错。
不能直接将全部的模块放到一个 index.ts 内导出
在 文档配置
内,是无法识别 css 后缀的文件的。所以包含 css 导入的 主题配置
,不能和包含纯 ts 模块的 文档配置
放在一起导出。
所以该写法是无效的:
ts
// 警告 设计失误 将 `文档配置` 和 `主题配置` 共同导出时 会出现css无法识别的错误。
export * from "./config/index.ts";
export * from "./theme.ts";
export * from "./config.mts";
export * from "./types.ts";
因此,在 package.json 包内,配置依赖包导出是不对的。
json
{
"exports": {
".": {
"import": "./dist/index.mjs",
"types": "./src/index.ts"
}
}
}
二次封装 defineTeekConfig 时的注意事项
不要遗漏掉 defineTeekConfig 函数。否则项目打包后,在具体的文档项目构建时,就会出现以下错误:
详情
log
Cannot find module 'D:\code\github-desktop-store\gh.ruancat.monorepo\node_modules\.pnpm\vitepress@1.6.4_@algolia+cl_220202f95f84e170fb1cacc12f9bcaf4\node_modules\vitepress\dist\client\theme-default\without-fonts' imported from D:\code\github-desktop-store\gh.ruancat.monorepo\node_modules\.pnpm\vitepress@1.6.4_@algolia+cl_220202f95f84e170fb1cacc12f9bcaf4\node_modules\vitepress\dist\client\theme-default\index.js
Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'D:\code\github-desktop-store\gh.ruancat.monorepo\node_modules\.pnpm\vitepress@1.6.4_@algolia+cl_220202f95f84e170fb1cacc12f9bcaf4\node_modules\vitepress\dist\client\theme-default\without-fonts' imported from D:\code\github-desktop-store\gh.ruancat.monorepo\node_modules\.pnpm\vitepress@1.6.4_@algolia+cl_220202f95f84e170fb1cacc12f9bcaf4\node_modules\vitepress\dist\client\theme-default\index.js
at finalizeResolution (node:internal/modules/esm/resolve:275:11)
at moduleResolve (node:internal/modules/esm/resolve:860:10)
at defaultResolve (node:internal/modules/esm/resolve:984:11)
at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:685:12)
at #cachedDefaultResolve (node:internal/modules/esm/loader:634:25)
at ModuleLoader.resolve (node:internal/modules/esm/loader:617:38)
at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:273:38)
at ModuleJob._link (node:internal/modules/esm/module_job:135:49)
ELIFECYCLE Command failed with exit code 1.
vite-plugin-vercel 在 vitepress 项目内打包产物不一致
TODO: 疑似 bug ,需要反馈给 vite-plugin-vercel 插件。