使用自维护的NPM模块部署节点应用程序

时间:2016-03-24 23:46:24

标签: node.js git npm node-modules

我正在开发一个使用内部开发的开源NPM模块的非常复杂的应用程序。 我经常需要更改其中一个模块(额外功能,错误修复等),以便主应用程序正常工作。 目前,我有:

  • 一个名为module1的目录,每个目录包含一个git存储库,每个模块一个存储库。例如module2my_apps
  • 名为app1的目录,例如module1my_apps/app1/node_modules作为依赖项
  • module1下{我有module2npm install,通过NPM安装
  • 在服务器中,通过拉动git存储库,运行npm dedupemy_apps/app1/node_modules/module1以及永久运行服务器进行部署。

在这个阶段,如果我必须在其中一个模块中修复某些内容,我:

  • 将其修复为my_modules/module1(非git)
  • 当它全部正常工作时,将文件复制到git push并执行npm publishnpm install
  • 由于my_apps/app1/node_modules/module1
  • ,服务器将在部署后提取最新模块

这种方式不太理想。它太容易出错了。但是:

  • 拥有符号链接my_modules/module1 => module1表示module1将在其自己的路径中查找依赖项,这通常会导致问题(例如,我需要确保每个模块都使用my_apps/app1/node_modules/module1的相同副本,这是必要的)

  • my_modules/module1下使用git repo会感到很危险,以防我在模块上使用NPM意外覆盖更改。此外,一旦修复了本地git仓库中的更改,我仍然需要在collectstatic中提取更改。是向前复制文件的一步......

"推荐"处理这个问题的方法?任何最佳做法?

0 个答案:

没有答案