0. 先决条件

参见:快速开始:先决条件

1. 安装Lerna

Lerna是一个大型项目的源码管理工具,可以同时管理多个源码包

CabloyJS的所有源码都由Lerna集中管理。如果要学习CabloyJS源码,或者向CabloyJS提交PR,可以直接将源码克隆到本地

# 全局安装Lerna
$ npm i -g lerna

2. 克隆Cabloy仓库

# 创建目录
$ mkdir cabloy-lerna
## 进入目录
$ cd cabloy-lerna
## 克隆源码到本地
$ git clone https://github.com/zhennann/cabloy.git

3. 安装依赖

# 进入源码目录
$ cd cabloy
# 安装项目依赖
$ lerna bootstrap

安装依赖为何不使用npm i

  • 因为lerna bootstrap可以把所有源码包的依赖项进行提升,统一安装在项目根目录的node_modules

4. 拷贝前端Config

cp -r src/front/_config src/front/config

5. 拷贝后端Config

cp -r src/backend/_config src/backend/config

6. 配置Redis

集群现在已经成为CabloyJS的一等公民。也就是说,CabloyJS项目随时做好准备,以便部署到集群环境中

CabloyJS的集群特性是基于Redis设计的,因此,需要设置Redis的连接参数,请参见:Redis配置与原生分布式架构

7. 配置MySQL

CabloyJS提供了三个运行环境,需要针对每个运行环境设置MySQL连接参数,请参见:MySQL配置与数据库规划

8. 单元测试

$ npm run test:backend

CabloyJS推荐测试驱动的开发模式。通过测试驱动可以锁定开发的成果,当有代码变更时,可以尽早的发现问题,从而解决问题

此外,开发阶段会经常的变更数据库设计,这时,只需要运行一遍单元测试就可以生效了(自动删除旧的测试数据库,然后自动创建一个新的测试数据库),参见:MySQL配置与数据库规划

9. 运行

启动后端开发服务

$ npm run dev:backend

启动前端开发服务

$ npm run dev:front

10. 进入系统

11. Docker Compose

在项目根目录有一个docker-compose.yml配置文件。如果您已经安装好了docker compose环境,那么可以一键启动CabloyJS所有的服务,包括Redis、MySQL、Nginx、以及CabloyJS后端服务

$ cp -r src/front/_config src/front/config
$ cp -r src/backend/_config src/backend/config
$ sudo docker-compose up

12. 升级源码

在升级源码之后,别忘了重新安装项目依赖

# 拉取最新源码
$ git pull
# 安装项目依赖
$ lerna bootstrap

延伸阅读