yarn工作区
初始化组件库时由于有多个功能区需要管理,故此拆分工作区,首先在根目录建一个文件夹(我建立的是packages)存放所有文件,yarn init初始化,并配置package.json,加入
"private": true, "workspaces": ["packages/*"]
例如我的packages文件夹中有components文件夹,在components的package.json中设置
"name": "components"
则有工作区
"components": { "location": "packages/components", "workspaceDependencies": [], "mismatchedWorkspaceDependencies": [] },
可以在shell中使用yarn workspaces info 查看该项目有哪些工作区,之后可以在根目录给每个工作区装特定的依赖
yarn workspace <工作区name> add <要添加的依赖>
如果是添加全局的(所有工作区共用的依赖),则
# 添加 -W 或 --ignore-workspace-root-check 参数yarn add -W <依赖包>
构建过程中我遇到了个问题,比如我想工作区中的z-el设置为项目的全局依赖,在dependencies中设置
"dependencies": { "lodash-es": "^4.17.21", "vue": "^3.4.19", "z-el": "workspace:*" }
结果每次yarn都会从远程去找z-el这个依赖,研究半天没有解决,最后我只能设置本地文件路径去解决 "z-el": "file:./packages/core"
有大佬知道原因欢迎留言,我会学习QAQ
最后记录一下运行工作区的scripts
yarn workspace <工作区名> run <执行命令>
因为之前看过pnpm的工作区配置,与yarn工作区配置有一些差异,特此记录一下OvO

浙公网安备 33010602011771号