项目由 3 个小项目组成,分别为
packages/example
: 小程序使用示例。packages/logger
: SDK,在小程序内使用。packages/server
: 平台服务端。
项目采用 monorepo 结构,基于 lerna + yarn workspace 构建。
项目统一负责:
- 代码风格 -- 使用
prettier
+eslint
- 编程语言 -- 使用
typescript
,子项目应继承根目录的tsconfig.json
- 版本发布 -- 使用
lerna
+conventional-changelog
生成版本日志,并发布到 NPM - 测试库 -- 使用
jest
子项目自行负责:
- 测试 -- 独立编写测试
- 文档说明 -- 独立
README.md
-
安装依赖
yarn
-
链接各子项目
npx lerna bootstrap
-
查看
packages/
下各子项目的README.md
文件进行配置
yarn workspace [package] add [dependency]
比如:
yarn workspace @mp-logger/server add socket.io
命令行有点长,故添加了简写方式:
yarn server add socket.io
npx lerna version
yarn lerna:publish
实时编译,并硬链接编译成功的文件到 packages/server/public/js/sdk.min.js
yarn logger run dev
yarn server run dev
yarn example run dev:weapp