项目里有 README、测试目录或本地构建产物时,直接打包很容易把不该进 npm 的文件一起带上。npm 自带的 dry-run 可以先看清单,不会生成最终包。
环境:Node.js 18+,npm 9+。建个最小例子:
mkdir npm-pack-demo && cd npm-pack-demo
npm init -y >/dev/null
mkdir -p src test
printf 'console.log("ok")\n' > src/index.js
printf 'local note\n' > test/fixture.txt
printf 'dist output\n' > dist.log
npm pack --dry-run
输出里会列出准备打进包的文件和大小。确认不需要的内容后,可以用 .npmignore 排除,或者在 package.json 里用 files 白名单控制;两者同时存在时,files 通常更适合库项目。
我觉得这一步放进发布前检查挺划算,尤其是仓库里有构建缓存时,能避免包体积悄悄变大。