Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何处理用于部署的npm包_Node.js_Deployment_Npm - Fatal编程技术网

Node.js 如何处理用于部署的npm包

Node.js 如何处理用于部署的npm包,node.js,deployment,npm,Node.js,Deployment,Npm,在我当前的项目中,我有很多应用程序,它们都有很多npm依赖项。当我部署一个应用程序时,每个应用程序都会获取npm依赖项。它工作得很好,但我不知道实时部署的正确方法。我不想将依赖项签入到live deployment分支或其他东西 有人有解决这个问题的好办法吗?长时间处理依赖关系 在npm站点上,他们说我不使用npm进行部署,只用于开发。有很多原因,为什么生产需求依赖npm是不好的: npm网络延迟,失败的请求-当自动化生产部署时,如果npm出于某种原因不配合您的请求,您的部署可能会延迟或失败,当

在我当前的项目中,我有很多应用程序,它们都有很多npm依赖项。当我部署一个应用程序时,每个应用程序都会获取npm依赖项。它工作得很好,但我不知道实时部署的正确方法。我不想将依赖项签入到live deployment分支或其他东西

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


在npm站点上,他们说我不使用npm进行部署,只用于开发。

有很多原因,为什么生产需求依赖npm是不好的:

  • npm网络延迟,失败的请求-当自动化生产部署时,如果npm出于某种原因不配合您的请求,您的部署可能会延迟或失败,当您尝试推送关键修补程序和部署中断时会发生什么情况??无论模块位于何处,这都可能是一个问题,但在使用npm public repo时,控制力甚至更低

  • npm依赖质量控制,中断更新。公共模块可能随时更新,这可能会带来突破性的变化,应该有某种程度的保证,即开发的npm依赖项是部署到生产中的确切版本

  • npm有时就是不起作用,或者处于奇怪的状态(我自己的经验:()

  • 对此可以做些什么

    • npm模块的参考特定版本
    • 依赖关系,我认为npm提供自托管回购,或者回购可以分叉到私有回购,并由github提供服务
    • 专注于部署工件,而不是依赖npm进行部署。这可以通过构建docker容器或使用本机打包系统打包应用程序来实现