node.js - 如何使用 npm 包进行部署

标签 node.js deployment npm

在我当前的项目中,我有很多应用程序,它们都有很多 npm 依赖项。当我部署应用程序时,每个应用程序都会获取 npm 依赖项。它工作得很好,但我不知道实时部署的正确方法。我不想检查对实时部署分支或其他内容的依赖关系

有人有解决这个问题的好办法吗?长时间处理依赖关系?

在 npm 网站上,他们说我不使用 npm 进行部署,只是为了开发。

最佳答案

依赖 npm 来满足生产需求有很多不好的原因:

  1. npm 网络延迟、失败的请求 - 在自动化生产部署时,如果 npm 由于某种原因不配合您的请求,您的部署可能会延迟或失败,当您尝试推送关键修补程序时会发生什么并部署中断?无论模块托管在何处,这都可能是一个问题,但在使用 npm 公共(public)存储库时控制力甚至更少

  2. npm 依赖质量控制,中断更新。公共(public)模块可能随时更新,这可能会带来重大更改。应该有某种保证,正在开发的 npm 依赖项是部署到生产的确切版本。

  3. npm 有时不起作用,或者进入奇怪的状态(我自己的经验:( )

对此可以做什么?

  • 引用 npm 模块的特定版本
  • host npm依赖项,我认为 npm 提供自托管存储库,或者存储库可以 fork 到私有(private)存储库并从 github 提供服务
  • 专注于部署工件,而不是依赖 npm 进行部署。这可以通过构建 docker 容器或使用 native 打包系统打包应用程序来完成 https://github.com/jordansissel/fpm

关于node.js - 如何使用 npm 包进行部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35674137/

相关文章:

java - 如何将 Web 应用程序中的集成小程序部署到 Tomcat 中

node.js - 如何复制 Node.js 环境?

node.js - Gekko Auto Trading bot 在 ubuntu 上安装失败

node.js - Sails js 渲染局部 View

node.js - 等待 Microsoft Bot Framework 中的事件

javascript - 无法从 Node js中的方法返回结果

java - 为应用程序创建 Windows 安装程序

javascript - 从 javascript 插入或更新融合表

c++ - 无法解决,因为它需要 *.dll

node.js - 如何使用 AWS EBextensions 编译 Vue Js 组件?