打包发布
您可以将自己的应用在应用商店中进行发布,发布后其他人可通过应用安装命令进行安装使用。
INFO
注意:应用只是多个模块的归类,便于多模块同时进行安装,实际安装到程序中的为模块。
模块推送
在 App 目录中的每个含应用入口的目录均为一个模块包
,我们推送的则为模块包,推送后则可在应用商店进行应用发布操作,一个基本的可发布模块包使用以下结构:
bash
app # <-- 应用总目录
- Test # <-- 测试模块包
- Docs # <-- 文档目录
- CHANGELOG.md # <-- 模块更新日志
- README.md # <-- 模块说明文件
- app.json # <-- 模块信息
app # <-- 应用总目录
- Test # <-- 测试模块包
- Docs # <-- 文档目录
- CHANGELOG.md # <-- 模块更新日志
- README.md # <-- 模块说明文件
- app.json # <-- 模块信息
app/
目录下是应用的总目录。
Test/
目录下是一个示例模块。
Docs/
目录下是应用的说明和更新文档,便于用户查看。
app.json
文件是该模块的配置文件。
包配置
打开 app.json 文件,示例如下:
json
{
"name": "duxweb/base", // 全网唯一的包名,重复则无法发布,建议命名格式:组织名/包名
"description": "System Base Applications", // 模块描述,基本描述信息
"version": "0.0.0", // 模块版本号,采用 主版本.功能版本.修正版本 号的形式
"phpDependencies": { // 该模块对于 composer 的依赖库,没有可不填
"duxweb/dux-lite": "main-dev"
},
"jsDependencies": { // 该模块对于后台前端 npm 的依赖库,没有可不填
"@duxweb/dux-extend": "^0.0.18",
"@duxweb/dux-plugin": "^0.0.7",
"@duxweb/dux-refine": "0.5.9"
}
}
{
"name": "duxweb/base", // 全网唯一的包名,重复则无法发布,建议命名格式:组织名/包名
"description": "System Base Applications", // 模块描述,基本描述信息
"version": "0.0.0", // 模块版本号,采用 主版本.功能版本.修正版本 号的形式
"phpDependencies": { // 该模块对于 composer 的依赖库,没有可不填
"duxweb/dux-lite": "main-dev"
},
"jsDependencies": { // 该模块对于后台前端 npm 的依赖库,没有可不填
"@duxweb/dux-extend": "^0.0.18",
"@duxweb/dux-plugin": "^0.0.7",
"@duxweb/dux-refine": "0.5.9"
}
}
INFO
特别主要注意的是模块目录的命名与包名的命名,两者之间是没有任何关系,包名保证全网唯一性即可,如果两个模块使用同一个模块目录名则后安装会覆盖前安装目录。
发布模块包
配置好模块包后使用以下命令即可发布模块,模块版本号只能往上设置无法往下设置:
bash
./dux push 应用目录名
./dux push 应用目录名
发布应用
请登录应用平台 进行发布应用,审核后应用即可上架,应用名建议使用 组织名/应用名
进行命名,防止重复应用名无法提交。
安装应用包
应用发布后根据设置的应用名即可进行安装。
bash
// 安装应用包
./dux install 应用名
// 安装应用包
./dux install 应用名
TIP
执行应用安装命令后,如果数据库没有同步请手动执行数据库同步命令。