检查node_modules与拆封(Check in node_modules vs. shrink

2019-06-26 06:25发布

检查node_module是社区的标准,但现在我们还必须使用拆封的选项。 后者让我更有意义,但总是有人没“强制公布”,并引入了错误的机会。 是否有任何额外的缺点?

Answer 1:

在这个问题上我最喜欢的职位/理念可以追溯到所有的方式(在node.js的土地很长一段时间)至2011年:

https://web.archive.org/web/20150116024411/http://www.futurealoof.com/posts/nodemodules-in-git.html

要直接引用:

如果你有一个应用程序,您部署,检查所有的依存关系中node_modules。 如果您使用NPM做部署,只定义这些模块bundleDependencies。 如果您有需要编译依赖你还是应该检查代码,只是$运行NPM重建上部署。

每个人我已经告诉这也告诉我,我是个白痴,然后在几个星期后告诉我,我是正确的,检查与git一直是祝福的部署和发展node_modules。 这是客观的更好,但这里有一些问题/投诉,我似乎得到的。

我认为这仍然是最好的建议。

力-发布情况是罕见的, npm shrinkwrap可能会适用于大多数人。 但是,如果你部署到生产环境,什么让你像在整个检查和平的头脑node_modules目录。

或者,如果你真的,真的不想在检查node_modules目录,但希望有一个更好的保证还没有强制推,我会按照建议npm help shrinkwrap

如果你想避免拜占庭笔者取代你与打破您的应用程序代码中使用包的任何风险,你可以修改拆封文件来使用git的URL引用而不是版本号,以便随时故宫所有获取从包混帐。

当然,有人可能会遇到一个奇怪的git rebase或东西,修改git的承诺哈希......但现在我们只是越来越疯狂。



Answer 2:

NPM常见问题直接回答这个:

  • 检查node_modules到混帐东西部署,如网站和应用。
  • 不检查node_modules成的git的打算重用库和模块。
  • 使用NPM在你的开发环境来管理依赖关系,但不是在你的部署脚本。

引自NPM常见问题解答



文章来源: Check in node_modules vs. shrinkwrap
标签: node.js npm