node 在不使用包管理或者文件路径的情况下导入文件

假设系统有3个子系统
分别是前台,后台,自动任务
现在要求分开部署3个子系统,并且独立开发。
但是modles 层共同使用的

不想使用 yarn或者npm 包管理来导入 modles 层。 因为每次更新modles 层,都需要yarn add 一下,或者npm i 一下,不方便。
特别是一些modles 自动生成情况下

本来我是 import xx from 文件绝对路径 导入的 的。 但是随着系统的复杂性,import xx from 文件绝对路径~~~~ 不方便。 何况除了modles 还有许多这样的模块是相同的。

想过环境变量,但是我前台和后台以及自动任务。 不是同一个用户运行着。 虽然三个用户配置相同的路径很合理,但是我还是不想这么配置,宗感觉我系统很脆弱,有没有很多时间注意系统安全。 黑客很简单的会拿到我前台nginx 用户权限的。其实为了方便自己上传图片留下的后门


有什么好方法解决这种情况下的包依赖呀!

138518225_15725097782081n.png

有人会觉得我问题很奇怪, 其实我是个人cms系统。 不是那种企业级的。 但是系统很复杂, 这就导致架构问题。 企业级的项目都有规划的,我个人的以后当blog用的,到处rss方便别人采集的。
不适合npm 那种集中形式的包管理。
因为我是类似Richard Stallman开发GNU那种方式, 写一个函数打包成某个工具。 只需要知道函数的参数就可以自由的调用了。
这样做的好处是不需要考虑结果问题。 只要core中不停的塞模块,在app层调用就ok,不管是shell,还是app,还是cli都可以调用。

而npm 是这样的,需要全局或者在某个模块里面安装。 也就是会拷贝到全局或者node_modules中去。

很多人觉得node_modules是一个缓存, 其实不然。 这是npm解决依赖的方式。

简单说
就是npm yarn已经不是我需要的包管理方式。

阅读 1.5k
1 个回答
不想使用 yarn或者npm 包管理来导入 modles 层。 因为每次更新modles 层,都需要yarn add 一下,或者npm i 一下,不方便。
特别是一些modles 自动生成情况下
  1. yarn和npm就是来解决你说的更新的问题的,用不用缓存你都可以自己控制,一句shell连10个字符都不够,你还觉得不方便?
  2. 自动生成?是什么意思呢?
clipboard.png

nodemodules下包直接由node或者es-module解析工具处理,其他的使用相对路径或者类似package的项目路径前缀,这都是很通常的做法。何来的相同?

感觉你的描述太多问题了,原因比较奇怪、目的表达的好像也不很清楚。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题