vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > 多个vue项目共用node-modules文件夹

多个vue项目实现共用一个node-modules文件夹

作者:负债两百万的蛋黄

这篇文章主要介绍了多个vue项目实现共用一个node-modules文件夹,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

多个vue项目共用一个node-modules文件夹

问题背景

一个目录下有多个vue项目。

>> root
    -- my-vueproject-a
        -- package.json
        -- node-modules
    -- my-vueproject-b
        -- package.json
        -- node-modules
...

期望结果

将所有vue项目中的依赖包提取为一个

>> root
    -- my-vueproject-a
    -- my-vueproject-b
    -- package.json
    -- node-modules
...

找到了一个可行的方法,但不确定是否是最优解决方法(网上看到好多说法也并不建议不同项目共用同一个依赖node-modules)

解决方法

1.在所有项目的共同父级目录下创建package.json,添加好所有项目需要用到的依赖配置

2.在此父级目录下(root)运行 npm install

3.单独的vue项目中仍然需要保留node-modules文件夹,但是该文件夹里面只需要保留@vue 和 .bin 两个文件夹。其他的依赖包当项目无法在自身目录的node-modules中找到的话就会自动冒泡从父级(父级的父级…)去寻找。

这样,就可以避免重复下载多个依赖包,实现多个vue项目共用同一个node-modules依赖包。

关于共用node_modules的凡尔赛结论

不得不说,NPM对于node_modules的管理实在是……随便一个稍微复杂点的项目,你要建立一个新的版本,好吧,node_modules就是一个巨无霸。

其实,node_modules并不需要在你的项目根目录,而且,项目间是可以共享node_modules的

最最简单的做法就是

D:\Projects\node_modules
D:\Projects\projectA
D:\Projects\projectB
D:\Projects\projectC

每个project目录里,复制node_modules内容到父目录后,删掉自己项目里的node_modules就可以了,没有任何影响,这样,建立新项目的时候,也完全不需要有那个动辄几百M的大node_modules了。

这么简单的东西,相信,嗯,额……没几个人知道吧

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文