多个vue项目共用一个node-modules文件夹 问题背景 一个目录下有多个vue项目。 root -- my-vueproject-a -- package.json -- node-modules -- my-vueproject-b -- package.json
多个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了。
这么简单的东西,相信,嗯,额……没几个人知道吧
以上为个人经验,希望能给大家一个参考,也希望大家多多支持易盾网络。