应用安装
此应用是一个基于 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 build
soybean-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