NPM包README.md发布后图片无法正常显示问题如何解决?
解决方案
1. 确认发布包包含对应图片文件
- 检查项目根目录下的
.npmignore配置:如果存在该文件,确认没有排除png格式文件或者logo相关目录,如果有排除规则,添加!pnglogo.png(根据你的实际文件路径调整)强制发布时包含该文件 - 检查
package.json中的files字段:如果配置了该字段,必须将图片文件/目录加入列表,否则npm仅会默认包含README、package.json等基础文件,不会自动打包图片
2. 对齐README图片路径与发布包内文件结构
你当前的发布脚本逻辑是先将根目录README复制到./projects/fs-validator/,构建完成后再将logo目录复制到dist/fs-validator/,需要确保路径完全匹配:
- 如果图片直接放在
dist/fs-validator根目录,和README同级,的写法才有效 - 如果复制的是完整logo目录,图片存放在
dist/fs-validator/logo/下,需要将路径改为
3. 本地预校验发布包内容
执行构建流程后不要直接发布,先进入dist/fs-validator目录,运行npm pack命令生成待发布的tgz压缩包,解压后检查:
- 包内是否存在目标图片文件
- README.md中的图片路径和包内文件的相对位置是否匹配
可以提前排查90%以上的路径、文件遗漏问题。
4. 排查缓存问题
如果之前已经发布过对应版本,npm服务端可能存在README渲染缓存,可以升级版本号重新发布,等待10-15分钟后用无痕模式访问npm包页面确认显示效果。
内容的提问来源于stack exchange,提问作者Ole
相关产品推荐
相关产品推荐

