有时 .npmignore、files 字段或构建目录改了,发布包里会悄悄多出源码、测试文件,甚至把不该带的配置一起打进去。可以先在项目根目录检查:
npm pack --dry-run
它不会生成压缩包,但会列出将要发布的文件和大致体积。想看最终包内容,也可以实际打一个临时包:
包=$(npm pack --silent)
tar -tf "$包"
rm "$包"
环境:Node.js 18+、npm 9+。npm publish --dry-run 也能做发布前校验,不过我觉得先看文件清单更直观。CI 里可以把关键路径写成断言,避免某次构建配置变化后把不需要的目录带进包里。