0. 先决条件
名称 | 版本 | 链接 |
---|---|---|
NodeJS | >=16.0.0 | https://nodejs.org |
MySQL | >=5.7.27 | https://dev.mysql.com/downloads/mysql/ |
Redis | >=6.2.0 | mac/linux: https://redis.io |
windows下载地址: windows-redis-7.0.5 |
为何使用
Redis
?
- CabloyJS通过
Redis
从框架底层就开始原生支持分布式开发,因此当系统起量后,可以轻松做集群扩展
FAQ
- 如遇到问题,请参见常见问题-汇总清单
0. 安装Lerna
Lerna
是一个大型项目的源码管理工具,可以同时管理多个业务模块包。通过Lerna可以集中管理自行开发
的业务模块,和从模块商店
下载的业务模块
Lerna提供了许多脚本命令,但对于常规使用而言,我们只需要记住一个:lerna bootstrap
(后面会用到)。该命令会自动安装项目中所有业务模块包的依赖项
- 1# 全局安装Lerna
- 2$ sudo npm i -g lerna@6
- 3# 使用淘宝镜像
- 4$ sudo npm i -g lerna@6 --registry=https://registry.npmmirror.com
1. 新建项目
创建一个项目cabloy-demo
,然后安装所有依赖项
- 1# 创建项目
- 2$ npm init cabloy cabloy-demo
- 3# 进入项目所在目录
- 4$ cd cabloy-demo
- 5# 安装项目依赖
- 6$ lerna bootstrap
- 注意:使用
lerna bootstrap
安装项目依赖,而不是npm install
如果网速慢,可以使用淘宝镜像:
- 1# 创建项目
- 2$ npm init cabloy cabloy-demo -- --registry=https://registry.npmmirror.com
- 3# 进入项目所在目录
- 4$ cd cabloy-demo
- 5# 安装项目依赖
- 6$ lerna bootstrap --registry=https://registry.npmmirror.com
2. 配置Redis
集群
现在已经成为CabloyJS
的一等公民。也就是说,CabloyJS项目随时做好准备,以便部署到集群环境中
CabloyJS的集群特性是基于Redis
设计的,因此,需要设置Redis的连接参数,请参见:Redis配置与原生分布式架构
注意:使用默认配置即可,只须确认一下
host
和port
是否符合实际值
3. 配置MySQL
CabloyJS
提供了三个运行环境,需要针对每个运行环境设置MySQL连接参数,请参见:MySQL配置与数据库规划
注意:使用默认配置即可,只须确认一下
host
、port
、user
和password
是否符合实际值
4. 单元测试
- 1$ npm run test:backend
CabloyJS推荐测试驱动
的开发模式。通过测试驱动
可以锁定开发的成果,当有代码变更时,可以尽早的发现问题,从而解决问题
此外,开发阶段会经常的变更数据库设计,这时,只需要运行一遍单元测试就可以生效了(自动删除旧的测试数据库,然后自动创建一个新的测试数据库),参见:MySQL配置与数据库规划
5. 运行
启动后端开发服务
- 1$ npm run dev:backend
启动前端开发服务
- 1$ npm run dev:front
6. 进入系统
- 网址:http://localhost:9092
- 用户名:root
- 密码:123456
附录1. Docker Compose
在项目根目录有一个docker-compose.yml
配置文件。如果您已经安装好了docker compose环境,那么可以一键启动CabloyJS所有的服务,包括Redis、MySQL、Nginx、以及CabloyJS后端服务
- 1$ sudo docker-compose build
- 2$ sudo docker-compose up
- 进入系统
- 网址:http://localhost/
- 用户名:root
- 密码:123456
附录2. 免费安装核心模块的源码
由于CabloyJS内置的核心模块均位于目录node_modules
中,如果想查看某个核心模块的源码,可以通过以下指令安装至项目目录:{project}/src/suite-vendor
或{project}/src/module-vendor
- 1# 安装基础模块:a-base-sync
- 2$ npm run cli :store:sync a-base-sync
- 3# 安装CMS模块:a-cms
- 4$ npm run cli :store:sync a-cms
- 5# 安装NodeJS工作流引擎模块:a-flow
- 6$ npm run cli :store:sync a-flow
附录3. 测试套件/测试模块
测试套件/测试模块
包含大量测试用例
和代码范例
,既便于快速学习CabloyJS方方面面的知识点,又便于快速启动实际的业务开发
- 1# 安装套件:test-party
- 2$ npm run cli :store:sync test-party
- 3# 安装模块:test-note
- 4$ npm run cli :store:sync test-note
- 5# 安装模块:test-flow
- 6$ npm run cli :store:sync test-flow
-
说明:在默认情况下,这些测试套件/测试模块在
测试环境
和开发环境
中处于启用
状态,在生产环境
处于禁用
状态。因此,一般而言不需要做特殊处理- 如何禁用测试套件/测试模块,参见:禁用套件/模块
附录4. 升级系统
- 升级Cabloy
将项目文件package.json
中cabloy
的版本号改为最新版,然后执行以下命令重新安装依赖:
- 1# 重新安装依赖项
- 2$ lerna bootstrap
- 升级第三方套件/模块
由于第三方套件/模块位于源码目录{project}/src/suite-vendor
和{project}/src/module-vendor
中,需要单独的指令进行升级
- 1$ npm run cli :store:sync
附录5. 开发阶段禁用登录验证码
- 参见:开发阶段禁用登录验证码
💐 延伸阅读
当您在创建好第一个CabloyJS项目之后,可以先查阅以下教程,对开箱即用
的效果和灵活定制
的机制有一个初步的认知:
1. 开箱即用起步
-
文档:教程:业务表单与审批流
2. 灵活定制起步
-
文档:教程:前后端开发基本流程
-
视频:B站:前后端开发基本流程
评论: