我正在开发一个使用内部开发的开源NPM模块的非常复杂的应用程序。 我经常需要更改其中一个模块(额外功能,错误修复等),以便主应用程序正常工作。 目前,我有:
module1
的目录,每个目录包含一个git存储库,每个模块一个存储库。例如module2
,my_apps
。app1
的目录,例如module1
有my_apps/app1/node_modules
作为依赖项module1
下{我有module2
和npm install
,通过NPM安装npm dedupe
和my_apps/app1/node_modules/module1
以及永久运行服务器进行部署。在这个阶段,如果我必须在其中一个模块中修复某些内容,我:
my_modules/module1
(非git)git push
并执行npm publish
和npm 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
中提取更改。是向前复制文件的一步......
"推荐"处理这个问题的方法?任何最佳做法?