All four @vue-office packages now have a resolvable lib/index.js entry. The vite error is fixed.
问题原因:四个 @vue-office 包(docx/excel/pdf/pptx)都使用 postinstall 脚本(基于 vue-demi)在安装时根据 Vue 版本把 lib/v3/index.js 复制到 lib/index.js。pnpm v10 默认出于安全会拦截 postinstall 脚本,导致入口文件缺失,vite 无法解析 @vue-office/excel。
修复:
在 package.json 新增 pnpm.onlyBuiltDependencies 白名单,允许这四个包执行构建脚本:
JSON
"pnpm": {
"onlyBuiltDependencies": [
"@vue-office/docx",
"@vue-office/excel",
"@vue-office/pdf",
"@vue-office/pptx"
]
}
执行 pnpm rebuild @vue-office/docx @vue-office/excel @vue-office/pdf @vue-office/pptx 重跑 postinstall,已生成 lib/index.js(输出均显示 postinstall: Done,末尾的 exit code 1 只是沙箱对 pnpm store 上传的限制,不影响脚本本身)。