V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yuann72
V2EX  ›  问与答

npm 可以实现多个项目共享 node_modules 吗?

  •  
  •   yuann72 · 2018-02-25 15:05:56 +08:00 · 6835 次点击
    这是一个创建于 2455 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 vue-cli 创建个项目, 还没开始写代码, node_modules 目录下就有 23,995 个文件,3,696 个文件夹
    强迫症有点不爽

    为什么不做成共享的? 我查过, 好像基本都是说模块之间依赖来依赖去和有的依赖 1.0 版本, 有的依赖 2.0 版本的问题.
    A 项目依赖 B 和 C 模块, 都去全局 node_modules 目录下找, B 和 C 模块依赖哪些模块都去全局 node_modules 目录下找.
    至于 A 模块依赖 C 模块的 1.0 版本, B 模块依赖 C 模块的 2.0 版本的问题, 那就把 C 模块的 1.0 和 2.0 版本都装全局 node_modules 目录下不就行了?

    2 条回复    2018-02-25 17:05:49 +08:00
    viko16
        1
    viko16  
       2018-02-25 15:38:12 +08:00 via Android
    简单解答一下你的最后一句。

    因为 node 的模块机制里加载规则没有版本概念,毕竟是 require('C') 而不是 require('[email protected]')

    区分版本那可是 npm 的事~
    ZSeptember
        2
    ZSeptember  
       2018-02-25 17:05:49 +08:00 via Android
    类似于 maven,gradle 之类的。

    可以用 yarn,有全局缓存,最新版的 npm 好像也有,没有共享,但是不用重新下载了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3123 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 10:47 · PVG 18:47 · LAX 02:47 · JFK 05:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.