随着项目越来越多, 每个项目下node_modules
都有几百个依赖, 关键还都是重复的, 对于只有 256G 硬盘来说, 实在是有点太浪费了, 前段时间, 受到cooking
的启发, 发现cooking
是可以共用依赖的, 翻其源代码, 终于知道了, 原来webpack
一直就有这个功能, 只是以前没注意到...
首先, 创建一个放依赖的目录, 比如: E:\web\npm
(~\web\npm
), 在目录下创建一个package.json
, 把经常用到的依赖全都写进去, 然后执行npm install
或yarn
, 这样这个文件夹就成了一个公共依赖库
再来, 就是配置webpack
了, 在webpack
配置文件里添加:
{
resolve: {
modules: [
path.join(__dirname, './node_modules'),
'E:\\web\\npm\\node_modules'
]
}
}
注意: 检查下webpack
配置, 如果已经存在resolve
, 把上面代码合并进去, 另外, 如果配置文件不在项目根目录, 自行根据配置文件的位置修改path.join(__dirname, './node_modules')
到此, 就可以删除项目package.json
下的公共依赖, 只保留项目依赖, node_modules
下文件夹瞬间清爽了很多