假设系统有3个子系统
分别是前台,后台,自动任务
现在要求分开部署3个子系统,并且独立开发。
但是modles 层共同使用的
不想使用 yarn或者npm 包管理来导入 modles 层。 因为每次更新modles 层,都需要yarn add 一下,或者npm i 一下,不方便。
特别是一些modles 自动生成情况下
本来我是 import xx from 文件绝对路径 导入的 的。 但是随着系统的复杂性,import xx from 文件绝对路径~~~~ 不方便。 何况除了modles 还有许多这样的模块是相同的。
想过环境变量,但是我前台和后台以及自动任务。 不是同一个用户运行着。 虽然三个用户配置相同的路径很合理,但是我还是不想这么配置,宗感觉我系统很脆弱,有没有很多时间注意系统安全。 黑客很简单的会拿到我前台nginx 用户权限的。其实为了方便自己上传图片留下的后门
问
有什么好方法解决这种情况下的包依赖呀!
有人会觉得我问题很奇怪, 其实我是个人cms系统。 不是那种企业级的。 但是系统很复杂, 这就导致架构问题。 企业级的项目都有规划的,我个人的以后当blog用的,到处rss方便别人采集的。
不适合npm 那种集中形式的包管理。
因为我是类似Richard Stallman开发GNU那种方式, 写一个函数打包成某个工具。 只需要知道函数的参数就可以自由的调用了。
这样做的好处是不需要考虑结果问题。 只要core中不停的塞模块,在app层调用就ok,不管是shell,还是app,还是cli都可以调用。
而npm 是这样的,需要全局或者在某个模块里面安装。 也就是会拷贝到全局或者node_modules中去。
很多人觉得node_modules是一个缓存, 其实不然。 这是npm解决依赖的方式。
简单说
就是npm yarn已经不是我需要的包管理方式。
nodemodules下包直接由node或者es-module解析工具处理,其他的使用相对路径或者类似package的项目路径前缀,这都是很通常的做法。何来的相同?
感觉你的描述太多问题了,原因比较奇怪、目的表达的好像也不很清楚。