如何修复Vite dep-scan报的‘无"."入口已知条件’错误?
解决Vite报错:No known conditions for "." entry in "@someorg/name" package
问题原因
你遇到的「已知条件」是指Node.js、Vite这类工具默认识别的包导出条件,比如import(对应ESM模块)、require(对应CommonJS)、module、default等。你的exports配置里只有svelte(Svelte生态专用条件)和types(类型文件),Vite在依赖扫描阶段找不到通用的模块入口,因此报错。
svelte条件仅被Svelte相关插件识别,Vite本身不会默认用它来解析模块入口。
解决方案
修改package.json的exports字段,添加通用的ESM入口条件(比如import),同时保留svelte和types配置:
{ "name": "@someorg/name", "version": "1.0.0", ... "type": "module", "module": "dist/index.js", "types": "dist/index.d.ts", "exports": { ".": { "types": "./dist/index.d.ts", "import": "./dist/index.js", "svelte": "./dist/index.js" } } }
额外说明
- 如果需要兼容更多场景,可以添加
default作为兜底条件,确保所有工具都能找到入口文件:"exports": { ".": { "types": "./dist/index.d.ts", "svelte": "./dist/index.js", "import": "./dist/index.js", "default": "./dist/index.js" } } - 确保
dist/index.js是标准ESM格式(使用export语法,而非module.exports),配合type: module保证模块解析正确。
内容的提问来源于stack exchange,提问作者mikemaccana
相关产品推荐
相关产品推荐

