0. 前言

如果是学习和研究CabloyJS,或者贡献PR,可以直接克隆CabloyJS源码。当然,项目模式也可以查看CabloyJS的源码。源码模式项目模式之间的具体区别,请参见:新建项目后从哪里查看CabloyJS的核心源码?

0. 先决条件

在下载并运行CabloyJS源码之前,请确保准备好一些先决条件

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

1. 克隆Cabloy仓库

  1. 1# 创建目录
  2. 2$ mkdir cabloy-lerna
  3. 3## 进入目录
  4. 4$ cd cabloy-lerna
  5. 5## 克隆源码到本地
  6. 6$ git clone https://github.com/zhennann/cabloy.git
  7. 7## 或者,克隆最近一次commit,从而加快下载速度
  8. 8$ git clone --depth=1 https://github.com/zhennann/cabloy.git

2. 安装依赖

  1. 1# 进入源码目录
  2. 2$ cd cabloy
  3. 3# 安装项目依赖
  4. 4$ npm install
  5. 5# 使用淘宝镜像
  6. 6$ npm install --registry=https://registry.npmmirror.com

3. 拷贝前端Config

  1. 1$ cp -r src/front/_config src/front/config

4. 拷贝后端Config

  1. 1$ cp -r src/backend/_config src/backend/config

5. 配置Redis

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

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

注意:使用默认配置即可,只须确认一下hostport是否符合实际值

6. 配置MySQL

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

注意:使用默认配置即可,只须确认一下hostportuserpassword是否符合实际值

7. 单元测试

  1. 1$ npm run test:backend

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

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

8. 运行

启动后端开发服务

  1. 1$ npm run dev:backend

启动前端开发服务

  1. 1$ npm run dev:front

9. 进入系统

附录1. Docker Compose

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

  1. 1$ cp -r src/front/_config src/front/config
  2. 2$ cp -r src/backend/_config src/backend/config
  1. 1$ sudo docker-compose build
  2. 2$ sudo docker-compose up

附录2. 测试套件/测试模块

测试套件/测试模块包含大量测试用例代码范例,既便于快速学习CabloyJS方方面面的知识点,又便于快速启动实际的业务开发

  1. 1# 安装套件test-party
  2. 2$ npm run cli :store:sync test-party
  3. 3# 安装模块test-note
  4. 4$ npm run cli :store:sync test-note
  5. 5# 安装模块test-flow
  6. 6$ npm run cli :store:sync test-flow
  • 说明:在默认情况下,这些测试套件/测试模块在测试环境开发环境中处于启用状态,在生产环境处于禁用状态。因此,一般而言不需要做特殊处理

附录3. 升级源码

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

  1. 1# 拉取最新源码
  2. 2$ git pull
  3. 3# 重新安装依赖项
  4. 4$ npm install
  • 升级测试套件/测试模块

由于第三方套件/模块位于源码目录{project}/src/suite-vendor{project}/src/module-vendor中,需要单独的指令进行升级

  1. 1$ npm run cli :store:sync

附录4. 开发阶段禁用登录验证码

💐 延伸阅读

当您在创建好第一个CabloyJS项目之后,可以先查阅以下教程,对开箱即用的效果和灵活定制的机制有一个初步的认知:

1. 开箱即用起步

2. 灵活定制起步