在开始前,建议首先阅读 YAO 架构解析, 了解 YAO 的源码结构。
YAO 采用 golang 开发,可以在 Mac 或 Linux 环境中建立开发环境。
工具 | 版本 | 说明 |
---|---|---|
Golang | 1.18+ | Golang |
MySQL | 8.0+ | 可选 |
推荐使用 Docker 安装服务
YAO 相关的代码仓库
仓库 | 说明 |
---|---|
https://github.com/yaoapp/yao | Yao |
https://github.com/yaoapp/gou | 引擎框架 |
https://github.com/yaoapp/xun | ORM |
https://github.com/yaoapp/kun | 常用数据处理包 |
https://github.com/yaoapp/v8go | V8 JavaScirpt 引擎 |
下载源码到项目目录
mkdir /your-project/rootgit clone https://github.com/yaoapp/yaogit clone https://github.com/yaoapp/gougit clone https://github.com/yaoapp/xungit clone https://github.com/yaoapp/kungit clone https://github.com/yaoapp/v8go
设置环境变量用于源码调试
变量 | 说明 | 示例 |
---|---|---|
YAO_DEV | 源码路径 | /your-project/root/yao |
YAO_ENV | 测试应用启动方式 development | production | development |
YAO_ROOT | 测试应用目录 | /your-project/root/yao/tests |
YAO_HOST | 监听主机 | 0.0.0.0 |
YAO_PORT | 监听端口 | 5099 |
YAO_LOG | 测试应用日志文件 | /your-project/root/yao/tests/logs |
YAO_JWT_SECRET | JWT 密钥 | qo-2U+hoTRU |
YAO_DB_AESKEY | 数据库 AES KEY | LX=T&f6refe |
export YAO_DEV="/your-project/root/yao"export YAO_ENV="development"export YAO_ROOT="/your-project/root/yao/tests"export YAO_HOST="0.0.0.0"export YAO_PORT="5099"export YAO_LOG="/your-project/root/yao/tests/logs"export YAO_JWT_SECRET="qo-2U+hoTRU"# 启用 MySQL 数据库export YAO_DB_DRIVER=mysqlexport YAO_DB_PRIMARY="root:db-password@tcp(db-server:3308)/xiang?charset=utf8mb4&parseTime=True&loc=Local"export YAO_DB_AESKEY="LX=T&f6refe"
进入 Yao 项目目录运行单元测试
cd /your-project/root/yaomake test
使用 Go 命令调试
cd /your-project/root/yaogo run .go run . run xiang.sys.pinggo run . start
首次编译需安装相关工具
cd /your-project/root/yaomake tools
编译过程中会从 https://github.com/YaoApp/xgen.git 仓库拉取代码并构建 需提前安装 nodejs 16+
cd /your-project/root/yaomake release
制品为 dist/release/yao
cd /your-project/root/yaomake linux-release
制品为 dist/release/yao
不集成 XGen 界面引擎
make debug
制品为 dist/release/yao-debug
https://github.com/YaoApp/yao/blob/main/.github/workflows/release-linux.yml https://github.com/YaoApp/yao/blob/main/.github/workflows/release-macos.yml
编译环境 Dockerfile: https://github.com/YaoApp/dockerfiles/tree/main/build
docker run -it --rm yaoapp/yao-build:0.10.1-amd64 /bin/bash
docker run -it --rm -v /path/source:/source yaoapp/yao-build:0.10.1-amd64 /bin/bash
docker build --platform linux/amd64 -t yaoapp/yao-build:0.10.1-amd64 .
在开始前,建议首先阅读 YAO 架构解析, 了解 YAO 的源码结构。
YAO 采用 golang 开发,可以在 Mac 或 Linux 环境中建立开发环境。
工具 | 版本 | 说明 |
---|---|---|
Golang | 1.18+ | Golang |
MySQL | 8.0+ | 可选 |
推荐使用 Docker 安装服务
YAO 相关的代码仓库
仓库 | 说明 |
---|---|
https://github.com/yaoapp/yao | Yao |
https://github.com/yaoapp/gou | 引擎框架 |
https://github.com/yaoapp/xun | ORM |
https://github.com/yaoapp/kun | 常用数据处理包 |
https://github.com/yaoapp/v8go | V8 JavaScirpt 引擎 |
下载源码到项目目录
mkdir /your-project/rootgit clone https://github.com/yaoapp/yaogit clone https://github.com/yaoapp/gougit clone https://github.com/yaoapp/xungit clone https://github.com/yaoapp/kungit clone https://github.com/yaoapp/v8go
设置环境变量用于源码调试
变量 | 说明 | 示例 |
---|---|---|
YAO_DEV | 源码路径 | /your-project/root/yao |
YAO_ENV | 测试应用启动方式 development | production | development |
YAO_ROOT | 测试应用目录 | /your-project/root/yao/tests |
YAO_HOST | 监听主机 | 0.0.0.0 |
YAO_PORT | 监听端口 | 5099 |
YAO_LOG | 测试应用日志文件 | /your-project/root/yao/tests/logs |
YAO_JWT_SECRET | JWT 密钥 | qo-2U+hoTRU |
YAO_DB_AESKEY | 数据库 AES KEY | LX=T&f6refe |
export YAO_DEV="/your-project/root/yao"export YAO_ENV="development"export YAO_ROOT="/your-project/root/yao/tests"export YAO_HOST="0.0.0.0"export YAO_PORT="5099"export YAO_LOG="/your-project/root/yao/tests/logs"export YAO_JWT_SECRET="qo-2U+hoTRU"# 启用 MySQL 数据库export YAO_DB_DRIVER=mysqlexport YAO_DB_PRIMARY="root:db-password@tcp(db-server:3308)/xiang?charset=utf8mb4&parseTime=True&loc=Local"export YAO_DB_AESKEY="LX=T&f6refe"
进入 Yao 项目目录运行单元测试
cd /your-project/root/yaomake test
使用 Go 命令调试
cd /your-project/root/yaogo run .go run . run xiang.sys.pinggo run . start
首次编译需安装相关工具
cd /your-project/root/yaomake tools
编译过程中会从 https://github.com/YaoApp/xgen.git 仓库拉取代码并构建 需提前安装 nodejs 16+
cd /your-project/root/yaomake release
制品为 dist/release/yao
cd /your-project/root/yaomake linux-release
制品为 dist/release/yao
不集成 XGen 界面引擎
make debug
制品为 dist/release/yao-debug
https://github.com/YaoApp/yao/blob/main/.github/workflows/release-linux.yml https://github.com/YaoApp/yao/blob/main/.github/workflows/release-macos.yml
编译环境 Dockerfile: https://github.com/YaoApp/dockerfiles/tree/main/build
docker run -it --rm yaoapp/yao-build:0.10.1-amd64 /bin/bash
docker run -it --rm -v /path/source:/source yaoapp/yao-build:0.10.1-amd64 /bin/bash
docker build --platform linux/amd64 -t yaoapp/yao-build:0.10.1-amd64 .