@
yuann72 你说的当然可以 但是问题就出在 “检查下所有项目的 package.json ”
也就是说 要么在 cleanup 的时候整个系统寻找 package.json
要么在 install 的时候需要记录每一个 package.json 存在的路径
都不是一件容易而且有效率的办法
否则 你在做清理的时候 你没办法知道有没有其他项目在使用你想要清理的包
这样一来 就意味着 所有 node 的项目就不是 portable 的 而且也不能随便移动位置和直接删除
现在 node_modules 最大的好处就是 node 项目大部分情况是 portable 的
只要 OS 兼容 Node 版本 兼容 你可以随时挪动位置 或者 删除 而且不影响其他项目
另外 如果你一个项目的包弄糟了 只需要删掉 node_modules 重来就好
我觉得唯一的问题 不是 node_modules 太大 而是文件太多 目录太复杂
我觉得可以学其他的语言把文件打包一下 比如 jar war phar 这些 zip 一下
而且由于有可能会有不少重复文件 去重再压缩估计会小不少
然后在运行时按需求解压 因为很多时候 并不是所有文件都有用到
而且现在的机器性能 解压缩 zip 的时间基本上可以忽略 搞不好从 IO 角度
从 zip 读取可能比加载一大堆文件还要快
这个现在可能不是很必要 但是以后有 webasm 了 打包一下其实可以考虑的