我想知道我们是应该在我们的repo中跟踪 node _模块,还是在判断代码时安装npm?

推荐答案

答案并不像Alberto Zaccagni suggests那么简单.如果您开发应用程序(尤其是企业应用程序),在git repo中包含 node _模块是一个可行的 Select ,您 Select 的替代方案取决于您的项目.

因为他很好地反对node_模块,所以我将集中讨论它们的论点.

想象一下,你刚刚完成企业应用程序,你将不得不支持它3-5年.你肯定不想依赖别人的npm模块,它明天可能会消失,你也不能再更新你的应用了.

或者你的私有模块无法从互联网上访问,你无法在互联网上构建应用程序.或者出于某种原因,你不想依赖npm服务的最终构建.

你可以找到利弊in this Addy Osmani article(虽然它是关于鲍尔,但几乎是相同的情况).最后,我将引用鲍尔主页和艾迪的文章:

"如果您不是在编写一个供他人使用的软件包(例如,您正在构建一个web应用程序),则应始终将已安装的软件包签入源代码管理."

Node.js相关问答推荐

AWS-ROUTE 53指向S3存储桶,错误是别名目标名称不在目标区域内

我的 React + Express 应用程序不断向我的数组添加一个空对象

eSignature API 的 NodeJS SDK 是否支持数据流?

在 getServerSideProps 中使用 EmailProvider 获取 NextAuth 会话会抛出 fs找不到模块

我应该如何解决这个 Angular node 包模块依赖冲突?

使用react 组件加载特定 DIV 而无需重新加载整个页面

无服务器部署使用无服务器组合抛出`spawn serverless ENOENT`

mongoose.model() 方法返回未定义

使用 Forms API 进行批量更新时生成 itemId

用户通过 oauth2 twitter 授权或通过Passport discord后如何重定向到 React/Vue 路由?

AWS EC2 npm install 突然很慢

为什么需要在 NodeJS 应用程序中创建服务器?

使用 mongoose 查找过go 7 天的注册用户总数

如何防止 node.js 中的内存泄漏?

使用 node.js 执行一个 exe 文件

使用 Node.JS,如何按时间顺序获取文件列表?

代理(如提琴手)可以与 Node.js 的 ClientRequest 一起使用吗

Puppeteer 记录在 page.evaluate

如何从 Node.js 中的 URL 获取

将 NodeJS 用于大型项目