模板制作教程
快速制作项目模板,长期复用
本教程将指导你创建一个完整的项目模板,包括变量定义、条件渲染和 hooks 配置。
什么是模板
模板是一个包含项目结构、配置文件和代码的目录,通过变量和条件渲染,可以生成不同配置的项目。
模板结构
一个标准的 AgileBuilder 模板结构如下:
my-template/
├── agilebuilder.json # 模板配置文件
├── template/ # 模板文件目录
│ ├── src/
│ ├── package.json.hbs # 使用 Handlebars 语法
│ └── README.md.hbs
└── hooks/ # 钩子脚本(可选)
├── pre-generate.js
└── post-generate.js
配置文件
agilebuilder.json 是模板的核心配置:
{
"name": "my-template",
"version": "1.0.0",
"description": "My project template",
"variables": [
{
"name": "projectName",
"type": "string",
"description": "项目名称",
"required": true
},
{
"name": "useTypeScript",
"type": "boolean",
"description": "是否使用 TypeScript",
"default": true
}
]
}
变量系统
AgileBuilder 支持多种变量类型:
字符串变量
{
"name": "projectName",
"type": "string",
"description": "项目名称",
"required": true,
"pattern": "^[a-z][a-z0-9-]*$"
}
布尔变量
{
"name": "useTypeScript",
"type": "boolean",
"description": "是否使用 TypeScript",
"default": true
}
选择变量
{
"name": "framework",
"type": "select",
"description": "选择框架",
"options": ["react", "vue", "svelte"],
"default": "react"
}
条件渲染
在模板文件中使用 Handlebars 语法进行条件渲染:
{{#if useTypeScript}}
"devDependencies": {
"typescript": "^5.0.0"
}
{{/if}}