项目结构
一个标准 Alia 项目由以下部分组成:
my-app/
├── config.json # 项目配置
├── README.md # 模组简介(可选,展示于 Mods Space 门户「描述」)
├── docs/ # 文档目录(可选,展示于 Mods Space 门户「文档」)
├── mods/ # 已安装模块(alia add 下载)
├── lib.alia # 库 API 入口(可选)
├── main.alia # 运行入口
└── .gitignore # 忽略 build/ 与 mods/(create/init 自动生成)
使用 alia create my-app 或 alia init 可一键生成该骨架。
config.json
config.json 声明项目元数据与编译配置:
{
"name": "my-app",
"version": "1.0.0",
"author": "alice",
"description": "示例应用",
"tags": ["http", "工具"],
"homepage": "https://example.com",
"license": "MIT",
"dependencies": {
"demo-lib": "1.1.0"
},
"compiler": {
"outDir": "build"
}
}
| 字段 | 说明 |
|---|---|
name | 项目名,发布到 Mods Space 时作为包名 |
version | 语义化版本号 |
author | 作者名(发布时若省略则用登录用户名) |
description | 模组简介,展示于 Mods Space 门户 |
tags | 标签数组(最多 20 个),用于门户搜索与筛选 |
homepage | 项目主页链接 |
license | 开源许可证 |
dependencies | 项目依赖(alia add 自动维护) |
compiler.lang | 可选的默认目标语言;未声明时每次构建回退到 js 并打印提示 |
compiler.outDir | 构建输出根目录(默认 build),产物按语言输出至 <outDir>/<lang>/ |
可选展示字段(author/description/tags/homepage)会在发布时写入 Mods Space 元数据注册表,供门户展示。
构建与运行
alia build --lang:js # 编译到 build/js/
alia run --lang:rs # 编译并运行
alia clean # 清理整个 build/
alia check # 类型检查
alia start # 解释模式运行 main.alia
构建保留既有产物与缓存,仅覆盖编译输出;仅 alia clean 清理(--lang:<value> 可只清理单一语言目录)。
目标语言解析优先级:CLI --lang:<value> > config.json 的 compiler.lang > 默认 js(未显式声明时打印提示)。
alia build 输出的产物结构随目标语言不同:
js:单文件build/js/main.jsnodejs:build/nodejs/下含package.json、main.js、runtime.js及依赖模块rs:build/rs/下含Cargo.toml与src/(main.rs、runtime.rs)