阿尔巴(二娃)
葫芦七兄弟中的老二,拥有顺风耳和千里眼,机敏过人、耳聪目明,攻击力较弱(指对用户)。
核心功能基于 rrweb 实现,主要包含 录制(sdk) 和 回放(admin) 两部分。帮助运营分析用户行为、技术分析问题
期望录制的行为包括:用户界面、network、console、异常堆栈...
所有指令均建议在项目根目录下运行
├── packages
│ ├── sdk # 用户端jssdk --- 开发环境: http://localhost:8080/
│ ├── server # 服务端 用于接收日志 --- 开发环境: http://localhost:8081/
│ └── admin # 数据后台 查看上报日志 --- 开发环境: http://localhost:8082/
└── package.jsonnpm install# 同时启动所有子项目
npm run dev
# 仅开发sdk
npx lerna run dev --scope=sdk # http://localhost:8080/
# 仅开发服务端
npx lerna run dev --scope=server # http://localhost:8081/
# 仅开发数据后台
npx lerna run dev --scope=admin # http://localhost:8082/npm run build考虑开发场景,Monorepo方案选用 lerna 进行管理而非pnpm(需要使用pnpm的指令进行新增依赖项),后续考虑迁移方案
示例:packages/sdk目录安装lodash:
npx lerna add lodash package/sdk
# 或者
npx lerna add lodash --scope=sdk经尝试如果同时安装多个依赖只会读取第一个包名,后面的包名参数会丢失导致没有安装
临时方案:
多次执行,分别安装/到子包下面通过 npm 安装
npx lerna create adminnpx lerna clean- 从所有包中删除node_modules目录npx lerna exec- 在每个包中执行任意命令