`package-lock.json` vs `npm-shrinkwrap.json`

中英双语

这两个文件具有相同的格式,并且在项目的根目录中执行类似的功能。

不同的是,package-lock.json不能发布,如果在根项目以外的任何地方发现都会被忽略。

相反,npm-shrinkwrap.json 允许发布,并从遇到的点定义依赖关系树。除非部署 CLI 工具或以其他方式使用发布过程来生成生产包,否则不建议这样做。

如果项目的根目录中同时存在 package-lock.jsonnpm-shrinkwrap.json,则 npm-shrinkwrap.json 将优先,而 package-lock.json 将被忽略。