# wudong-cli **Repository Path**: wudongo/wudong-cli ## Basic Information - **Project Name**: wudong-cli - **Description**: 用于一键生成各种模板的脚手架 支持: Node Server React Template Cli Npm Package Electron(React) - **Primary Language**: TypeScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-03-26 - **Last Updated**: 2023-06-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: TypeScript, Electron, Nodejs, React, template ## README # wudong-cli

## 项目描述 wudong-cli 是用于一键生成模板服务的脚手架。 目前支持: - Node Server 这需要您在 wudongCli.config.json 中配置数据库的字段, 将支持一键生成 Node Server 一键生成所配置的 sql 文件, 对于简单的库表结构可以做到开箱即用。 - React Template 目前尚不提供配置需求, React 模板 - Cli 目前尚不提供配置需求, 脚手架模板 - Package 目前尚不提供配置需求, npm包模板 - Electron 目前尚不提供配置需求, Electron + React + Typescript 模板 ### 模板选项 - **[Node Server](https://gitee.com/wudongo/node-server-base-on-koa2-type-script.git)** - **[React Template](https://gitee.com/wudongo/react-ts-templater.git)** - **[Cli Template](https://gitee.com/wudongo/template-node-cli.git)** - **[Package Template](https://gitee.com/wudongo/template-npm-package.git)** - **[Electron Template](https://gitee.com/wudongo/wudong-electron-react-ts.git)** ## 安装 ```Basic npm install wudong-cli -g ``` ## 使用方式 ### 初始化配置文件 ```Javascript wudong-cli init ``` ### 获取选择的模板 ```Javascript wudong-cli generate ``` ### 配置文件校验 ```Javascript wudong-cli check ``` ### 生成 sql 命令 ```Javascript wudong-cli sql ``` ### 完整版配置文件详解 ```Javascript { "database": { "name": "your database's name", // 数据库名称 "username": "your database's username", // 数据库用户名 "password": "your database's password", // 数据库密码 "ip": "127.0.0.1", // 数据库IP,默认为本地 "configuration": { // 数据库配置, 默认 mysql 目前不支持更改 "engine": "InnoDB", // mysql的默认存储引擎 // 请确保 mysql 版本为8.0+,以下两个字段才能生效 "charset": "utf8mb4", // mysql的默认编码方式 "collate": "utf8mb4_0900_ai_ci" // mysql 对于 utf8 的默认排序规则 }, "table": [{ // 数据库表, 可定义多个 "name": "test", // 库表名称 "needDefaultProps": true, // 是否需要默认的id、create_at属性, 默认是 "columns": [ // 定义字段 { "name": "age", // 字段名称 "type": "INT", // 字段类型 "notNull": true, // 字段是否不可为空 "default": "" // 字段默认值 }, { "name": "name", // 字段名称 "type": "VARCHAR(50)", // 字段类型 "notNull": true, // 字段是否不可为空 "default": "", // 字段默认值 }, ] }] }, } ``` ### 数据字段类型支持 | 字段类型 | 描述 | | ---- | ---- | | INT | 对应 Mysql 中 INT 类型 | | TEXT | 对应 Mysql 中 TEXT 类型 | | DATE | 对应 Mysql 中 DATE 类型 | | DATETIME | 对应 Mysql 中 DATETIME 类型 | | VARCHAR | 对应 Mysql 中 VARCHAR() 类型 | | JSON | 对应 Mysql 中 JSON 类型 | ### 字段属性支持 | 字段属性 | 类型 | 描述 | | ---- | ---- | ---- | | primaryKey | Boolean | 对应 Mysql 中 PK | | autoIncrement | Boolean | 对应 Mysql 中 AI | | notNull | Boolean | 对应 Mysql 中 NN | | unique | Boolean | 对应 Mysql 中 UQ | | default | String | 对应 Mysql 中 Default/Expression | ### 已知问题 - 目前支持的模板较少, 仅有 Node Server - 目前 Node Server 仅支持 Mysql 数据库 - 目前在配置文件中检验的 Mysql 字段类型很有限, 后续会增加 - 目前 Node Server 的库表信息填充方式为简单字符串填充,与 Server 模板耦合度较高