# generator-cli **Repository Path**: lwydyby_admin/generator-cli ## Basic Information - **Project Name**: generator-cli - **Description**: spring boot + vue项目代码生成命令行工具 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 3 - **Created**: 2019-10-31 - **Last Updated**: 2025-01-16 ## Categories & Tags **Categories**: code-generator **Tags**: None ## README # LCli [![Go Report Card](https://goreportcard.com/badge/github.com/lwydyby/generator-cli)](https://goreportcard.com/report/github.com/lwydyby/generator-cli) spring boot + vue项目代码生成命令行工具 ## 简介 ``` bash $ genratorv1 --help A code generator for spring boot program. For example: $ genratorv1 -f ./data.json -t ./templates \ -o ./output Usage: genratorv1 [flags] Flags: -f, --file string setting文件及data文件所在位置 -o, --output string 输出到的文件夹. -t, --template string 模板文件所在文件夹 -v, --version 版本信息 ``` ## 安装及使用 项目根目录存在mac上编译好的二进制文件(genratorv1) 其他系统请下载源码自行安装 ### 源码安装步骤 ``` bash $ git clone git@github.com:lwydyby/generator-cli.git $ glide install $ make install ``` ### 说明 1. setting.yaml 配置了模板名称和相应的输出文件名 ```yaml template: format: Go template_files: web: file_path: web.tmpl output_file_naming: index.vue dao: file_path: dao.tmpl output_file_naming: userRepository.java api: file_path: api.tmpl output_file_naming: user.js service: file_path: service.tmpl output_file_naming: UserService.java controller: file_path: controller.tmpl output_file_naming: UserController.java entity: file_path: entity.tmpl output_file_naming: User.java search: file_path: search.tmpl output_file_naming: UserSearch.java ``` 2. data.yaml 模板中所依赖的数据 ```yaml data: format: mongo # 提供搜索功能的字段 search_column: - prop: "name" label: "名称" type: "input" - prop: "type" label: "类型" type: "select" #创建时所需的字段 create_column: - prop: "name" type: "String" label: "名称" #列表展示的字段 table_column: - prop: "name" label: "名称" type: "String" #数据库中的名称 column_name: "name" #除列表展示外数据库要保存的字段 extra_column: - prop: "createDate" type: "Date" label: "创建日期" column_name: "create_date" #按钮及表单名 button_name: "用户" #生成的英文名 name: "User" package: "com.example" ``` 3. *.tmpl 下面展示了生成vue的模板,其余模板请参照templates/example ```javascript {{$Data := .Data}} {{$pre:= "{{"}} {{$end:= "}}"}} ``` 4. 使用实例 ```bash ./generatorv1 -f ./templates/example/ -o ./templates/example/test/ -t ./templates/example/ ```