本地正常但npm引入时Vite出现ES模块目录导入不支持错误
问题:ES模块目录导入异常场景解析
我已经查阅过ES模块目录导入不支持的相关资料,但还是搞不懂自己遇到的场景问题:
- 本地通过
link:..\UserCredits引入user-credits包,运行vite dev完全正常; - 但把项目复制到其他目录,使用npm版本
0.9.7-alpha引入时,出现报错:
Directory import 'C:\Users\zhamd\work\user-credits-ui\node_modules\.pnpm\user-credits@0.9.7-alpha\node_modules\user-credits\dist\db\dao' is not supported resolving ES modules imported from C:\Users\zhamd\work\user-credits-ui\node_modules\.pnpm\user-credits@0.9.7-alpha\node_modules\user-credits\dist\index.js Error [ERR_UNSUPPORTED_DIR_IMPORT]: Directory import 'C:\Users\zhamd\work\user-credits-ui\node_modules\.pnpm\user-credits@0.9.7-alpha\node_modules\user-credits\dist\db\dao' is not supported resolving ES modules imported from C:\Users\zhamd\work\user-credits-ui\node_modules\.pnpm\user-credits@0.9.7-alpha\node_modules\user-credits\dist\index.js at new NodeError (node:internal/errors:399:5) at finalizeResolution (node:internal/modules/esm/resolve:319:17) at moduleResolve (node:internal/modules/esm/resolve:945:10)
- 可如果把本地项目的依赖指向npm解压后的目录
link:..\user-credits-ui\node_modules\.pnpm\user-credits@0.9.7-alpha\node_modules\user-credits,又恢复正常。
我已经在Vite仓库提交issue并提供了复现示例,涉及项目为user-credits和user-credits-ui。
更新:尝试在目录导入路径后加上index,仍然报错找不到模块,但目标目录下明明存在index.js和index.d.ts文件:
Cannot find module 'C:\Users\zhamd\work\user-credits-ui\node_modules\.pnpm\user-credits@0.9.8-alpha\node_modules\user-credits\dist\db\dao\index' imported from C:\Users\zhamd\work\user-credits-ui\node_modules\.pnpm\user-credits@0.9.8-alpha\node_modules\user-credits\dist\index.js
请求解释该现象的原因。
内容的提问来源于stack exchange,提问作者Zied Hamdi
相关产品推荐
相关产品推荐

