Yarn Workspace 基础
使用 Yarn Workspace 的原因
多项目,需要共享代码
基础目录
test
packages
a
index.js
package.json
b
index.js
package.json
package.json
创建工作区
npm init -w packages/a -y
npm init -w packages/b -y
// 或者合并为一条
npm init -w packages/a -w packages/b -y
根目录 package.json
{
"name": "test",
"private": true,
"workspaces": ["packages/*"]
}
工作区 package.json
{
"name": "@test/a", // 命名规则 @[root-name]/[package-name]
"version": "1.0.0",
"main": "index.js",
"license": "MIT"
}
packages/a/index.js
const { b } = require('@test/b')
console.log('a', b())
packages/b/index.js
exports.b = () => {
return 'value:b;'
}
console.log('b');
关联
在根目录或工作区执行 yarn 指令,即可将本地模块软链接到根目录的 node_modules
共享依赖
// 根 package.json 增加 devDependencies
{
"name": "test",
"private": true,
"workspaces": ["packages/*"],
"devDependencies": {
"react": "^18.1.0"
}
}
// 工作区 package.json 增加 peerDependencies
{
"name": "@test/a",
"version": "1.0.0",
"main": "index.js",
"peerDependencies": {
"react": "*"
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律