Easy
用这个框架开发会是很容易很轻松很舒服的。
Evolutionary(渐进式)
用这个框架可以让我循序渐进的开发,而不是一上来就给我整一大套东西。在我有需要时就模块库取或者自己开发。
General(通用)
Pnpm WorkSpace 配置
- 安装
Pnpm
npm i pnpm -g
- 创建
pnpm-workspace.yaml
packages: # all packages in subdirs of packages/ and components/ - ‘packages/’ - 'tool-packages/’ - ‘transed-packages/’ - 'examples/’ # exclude packages that are inside test directories - ‘!/test/’
- 兼容处理 因为很多项目(包括
CocosCreator
),并不兼容下面这种包引用(protocol)
{ “dependencies”: { “foo”: “workspace:*”, “bar”: “workspace:~”, “qar”: “workspace:^”, “zoo”: “workspace:^1.5.0” } }
a. 需要创建一个 .npmrc
文件
save-workspace-protocol = false
- 初始化安装 如果旧项目,可能需要删除掉所有的
node_modules
之前用lerna+yarn
的,则可以使用lerna clean
然后
pnpm install
Basic Commands
创建包
- 快速模式
lerna create @xxx/xxx -y
- 配置模式
lerna create @xxx/xxx
给包添加依赖
- 给指定包添加内部包依赖
pnpm add @xxx/xxx
- 给指定包添加开发时内部包依赖
pnpm add -D @xxx/b
- 给指定包添加外部包依赖(在指定包目录下)
pnpm add xxxx
- 给指定包添加开发时外部包依赖(在指定包目录下)
pnpm add xxxx -D
- 给所有包添加依赖(可以使用pnpm过滤,使用参考:过滤 | pnpm中文文档 | pnpm中文网)
pnpm add lodash --filter “@ailhc/*”
- 给所有包添加开发时依赖(如果是添加内部包,需要加版本号@0.0.x)
pnpm add lodash -D --filter “@ailhc/*”
移除依赖
- 移除指定包a对xxx包的依赖(到指定包目录下,也可使用–filter)
pnpm remove xxx
使用fliter
pnpm remove xxx --filter “a”
- 移除所有包对指定包xxx的依赖(可以使用pnpm filter 过滤)
pnpm remove xxx --filter “@ailhc/*”
- 移除根目录下对xxx包的依赖
pnpm remove xxx
- 安装所有依赖
pnpm install
- 清除所有依赖
lerna clean
游戏开发之路有趣但不易,
玩起来才能一直热情洋溢。