You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JSDoc时出现FATAL: Unable to load template错误的解决方法

解决JSDoc + better-docs插件加载及模板路径错误问题

问题说明

为Next.js项目配置JSDoc时碰到两个核心问题:

  • 配置"template": "./node_modules/better-docs"时,文档能生成,但better-docs提供的typescript、component等插件完全没加载生效
  • 改成"template": "better-docs"后,直接抛出致命错误:
    FATAL: Unable to load template: Cannot find module 'C:\Users\...\node_modules\.pnpm\better-docs@2.7.2_prop-types@15.8.1_react-dom@18.2.0_react@18.2.0\node_modules\better-docs\publish.js/publish'
    

解决方法

1. 修正插件路径配置

better-docs的插件不需要写node_modules/前缀,直接用短名称即可,同时调整插件顺序(typescript插件建议放在最前面):

"plugins": [
  "better-docs/typescript",
  "plugins/markdown",
  "jsdoc-mermaid",
  "better-docs/component",
  "better-docs/category",
  "better-docs/typedef-import"
]

2. 适配pnpm的模板路径问题

由于pnpm的依赖软链结构和npm不同,JSDoc无法正常解析短路径模板,提供两种解决方案:

方案一:开启pnpm的shamefully-hoist模式

在项目根目录的.npmrc文件中添加:

shamefully-hoist=true

然后删除node_modules和pnpm-lock.yaml,重新执行pnpm install,之后模板路径改为"template": "better-docs"即可正常加载。

方案二:直接指定publish.js完整路径

保持模板字段为相对路径,但直接指向better-docs的publish.js文件:

"opts": {
  "encoding": "utf8",
  "destination": "docs/",
  "readme": "README.md",
  "recurse": true,
  "verbose": true,
  "template": "./node_modules/better-docs/publish.js"
}

3. 验证配置是否生效

执行JSDoc生成命令后,检查docs/目录下的内容:

  • 确认组件文档、分类等better-docs专属功能是否正常显示
  • 查看控制台输出(因配置了verbose: true),确认插件已成功加载

内容的提问来源于stack exchange,提问作者Mayank Kumar Chaudhari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 04:50:10