跳到主要内容

项目结构

一个标准 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.js
  • nodejs:build/nodejs/ 下含 package.json、main.js、runtime.js 及依赖模块
  • rs:build/rs/ 下含 Cargo.toml 与 src/(main.rs、runtime.rs)