发布于 

专注于业务,巧用yarn workspace集中管理本地node_modules

在前端日常开发中,每创建一个新项目就安装一堆node包是开发中一直以来的诟病。集中管理node_modules,不仅仅有利于节省磁盘空间,更加有利于专注业务开发。

全局安装yarn

执行命令

1
npm install -g yarn

安装好的yarn自带workspace

配置package.json

新建一个目录,在根目录下配置package.json并新建packages文件夹

1
2
3
4
5
6
7
8
{
"name": "mono-yarn",
"version": "1.0.0",
"private": true,
"workspaces": [
"packages/*"
]
}

安装业务包

在packages中放入项目工程,然后回到根目录下,运行

1
yarn

可以看到,在根目录下和子项目目录下各生成了node_modules,yarn 把所有子工程所需的业务包都下载下了根目录下。而子工程node_modules通过链接的形式引入了根目录的包。

在根目录运行子项目命令

1
yarn workspace [子项目名称] [执行命令]

总结

用yarn workspace把node_modules应用起来,十分方便。需要注意的是,因为受nodejs不同版本下安装的影响,不同nodejs版本运行install的结果也不同,所以保持本地同一workspace下使用相同node版本是有必要的。如果要实现本地兼容不同版本的nodejs, 最好的解决方案是一个nodejs版本一个workspace。