私有npm包安装后Vite提示Sourcemap指向缺失源文件的原因排查
Sourcemap缺失警告的成因分析
- 源码未随包发布:你的
package.json中files字段仅包含/lib目录,tsc生成的.js.map文件里,sources字段指向的是src下的TS源文件,但这些源文件并没有被发布到npm。其他项目安装包后找不到src目录,Vite解析sourcemap时就会报文件缺失。 - Declaration Map依赖未发布源码:开启了
declarationMap: true后生成的.d.ts.map文件,同样会指向src目录的原始文件,由于源码未包含在发布包中,Vite处理类型文件的sourcemap时也会触发警告。 - 路径基准不匹配:tsc默认生成的sourcemap路径是相对构建时的项目根目录,而非输出目录
lib。当包被安装到其他项目后,路径基准发生变化,即使源码存在也可能导致Vite无法正确定位(不过核心原因还是源码未发布)。
内容的提问来源于stack exchange,提问作者Rudy
相关产品推荐
相关产品推荐

