应用安装 
此应用是一个基于 yao 的应用,第一步需要安装 yao 引擎程序。
由于应用中使用了 yao 的最新特性,需要使用到 yao 0.10.4 版本程序。
在 yao 0.10.4 中可以使用 require 进行脚本的引用,可以在一定程度上提高 js 脚本的运行效率。
另外还可以直接使用 typescript 脚本,可以在一定程度上减少编码时的错误率。
yao 下载 
使用官方的开发版本,https://github.com/YaoApp/yao/actions/workflows/build-linux.yml
使用本项目打包的版本,https://github.com/wwsheng009/yao/releases
下载 yao 程序后,把程序丢到用户执行目录,通常是/usr/bin/目录,或是把执行程序放入环境变量 path 中。
下载本项目 
yao-amis-admin 
git clone https://github.com/wwsheng009/yao-amis-admin.git必须下载 amis sdk,文件是 sdk.tar.gz。下载解压后放在yao-amis-admin/public/amis目录
https://github.com/baidu/amis/releases
# 目录结构如下
├── public
│   ├── amis //sdk目录
│   │   ├── schema.json
│   │   └── sdk
│   │       ├── sdk.css
│   │       ├── sdk.js有了 sdk 后就可以直接使用 yao 运行项目。
这里可以使用 yao 的向导进行安装或是复制项目中的示例配置。
# option1
cd yao-amis-admin
yao start
# option2
cd yao-amis-admin
cp .sqlite.env .env
yao start成功后浏览器打开地址http://localhost:5099会看到登录界面。
amis 编辑器 
amis 编辑器应用下载,用于图形化编辑前端页面,已经针对于此项目作了登录集成,推荐使用,这是一个 react 项目,下载后编译。编译后直接把amis-editor目录复制到yao-amis-admin的 public 目录。
git clone https://github.com/wwsheng009/amis-editor-yao
# 不要使用pnpm
cd amis-editor-yao
npm install
# 开发
npm run dev
# 构造
npm run buildsoybean-admin 
soybean-admin 作为一个可选项,解决 amis sdk 无法深度定制的问题。
soybean-admin 基于 vue 的管理前端,推荐。这个项目也依赖于 amis,解决 amis 依赖有两种方式,把 sdk 复制一份到 public 目录。
这个项目基于 vue 与 amis sdk 进行集成,如果是 react 项目,可以直接使用 amis 的 react 开发包,不需要这样解决方案。
git clone https://github.com/wwsheng009/soybean-admin-amis-yao
# 复制amis sdk
# 目录结构如下
├── public
│   ├── amis //sdk目录
│   │   ├── schema.json
│   │   └── sdk
│   │       ├── sdk.css
│   │       ├── sdk.js
cd soybean-admin-amis-yao
# 开发
pnpm run dev
# 构造
pnpm run build注意:构造后的文件会存放在 dist 目录,把目录复制到yao-amis-admin的 public/soy-admin目录。还需要调整 public/soy-admin 目录下的 index.html 文件中的 amis 的引用。要不然就会存在多份 amis sdk。把/soy-admin/amis,修改成/amis
调整前:
<head>
  <meta charset="UTF-8" />
  <link rel="icon" href="/soy-admin/favicon.svg" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>YaoAdmin</title>
  <link rel="stylesheet" href="/soy-admin/amis/sdk/sdk.css" />
  <!-- <link rel="stylesheet" href="/amis/sdk/dark.css" /> -->
  <link rel="stylesheet" href="/soy-admin/amis/sdk/helper.css" />
  <link rel="stylesheet" href="/soy-admin/amis/sdk/iconfont.css" />
  <link rel="stylesheet" href="/soy-admin/style_dark.css" />
  <script type="module" crossorigin src="/soy-admin/assets/index.js"></script>
  <link rel="stylesheet" href="/soy-admin/assets/index8.css" />
</head>调整后:
<head>
  <meta charset="UTF-8" />
  <link rel="icon" href="/soy-admin/favicon.svg" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>YaoAdmin</title>
  <link rel="stylesheet" href="/amis/sdk/sdk.css" />
  <!-- <link rel="stylesheet" href="/amis/sdk/dark.css" /> -->
  <link rel="stylesheet" href="/amis/sdk/helper.css" />
  <link rel="stylesheet" href="/amis/sdk/iconfont.css" />
  <link rel="stylesheet" href="/soy-admin/style_dark.css" />
  <script type="module" crossorigin src="/soy-admin/assets/index.js"></script>
  <link rel="stylesheet" href="/soy-admin/assets/index8.css" />
</head>完整的目录 
一个完整的配置目录如下:
├── public
│   ├── amis        //amis-sdk
│   ├── amis-admin
│   ├── amis-editor //amis编辑器,目录名称不要修改
│   ├── favicon.ico
│   ├── image
│   ├── index.html
│   └── soy-admin  //soy-admin