# generate-html-cli
**Repository Path**: hecun/generate-html-cli
## Basic Information
- **Project Name**: generate-html-cli
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-12-15
- **Last Updated**: 2025-12-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# generate-html-cli
一个轻量的代码生成工具,用于从模板和 schema 自动生成表单页面或列表页面。设计目标:
- Node 12 兼容(使用 CommonJS)
- 可扩展:在 `pages/` 目录中添加更多 `.hbs` 模板(推荐在每个页面目录中使用 `template.hbs`)
- 提供 CLI:`generate-html`,并支持列出模板、指定输入、输出目录
- 高质量注释,易于二次开发
快速上手
安装依赖:
```bash
npm install
```
生成示例:
```bash
npm run generate-example
```
或直接:
```bash
node ./bin/generate.js -i pages/element/dialog/schema.json -o pages/element/dialog/out -t element/dialog
```
添加新模板
在 `pages/` 下添加一个新的 `.hbs` 文件即可(推荐使用 `template.hbs`),当文件为 `template.hbs` 时,模板名称将使用其父目录(例如 `element/dialog`)。可通过 `gen --list-templates` 查看。
新增模板示例:
- `html/*`:原生 HTML 模板(位于 `pages/html/`),例如 `html/form`、`html/list`。
- `element/*`:Vue 2 + Element UI(位于 `pages/element/`),例如 `element`(使用 `template.hbs` 时)或 `element/form-vue2-element`(使用文件名作为模板名)。
- `antd/*`:Vue 2 + ant-design-vue(位于 `pages/antd/`),例如 `antd`(使用 `template.hbs` 时)或 `antd/form-vue2-antd`(使用文件名作为模板名)。
示例:生成 Vue 文件:
```bash
node ./bin/generate.js -i pages/element/schema.json -o pages/element/out -t element
```
注意事项:
- 可以使用 `--list-templates` 查看所有模板,或使用 `--list-templates` 查看 Vue2 相关模板。使用 `--list-templates-json` 可以以 JSON 格式输出,便于在自动化脚本中解析。
- 默认使用 `html/form` 模板(当未通过 `-t/--template` 指定时)。
- 示例目录已按 UI 类型组织:`pages/html/`, `pages/element/`, `pages/antd/`。
每个目录包含 `template.hbs`(或其它 `.hbs` 文件)、`schema.json`(示例 schema)与 `out/`(生成输出)。
- 也可以在 `schema` 中指定 `outputFile` 字段来自定义生成文件名(例如 `my-component.vue`)。
贡献
欢迎补充更多模板、增强命令行选项、加入更丰富的 helper。