1.8 KiB
1.8 KiB
10.6 配置与覆盖策略
:::tip 概述
生成器配置集中在 config.yaml 的 generator 节:总开关、菜单挂载位置、覆盖策略。三者共同决定"生成什么、挂在哪、是否覆盖手写"。
:::
配置项
generator:
enable: true # 总开关:false 时生成器路由整体不注册
parentMenuId: 189 # 新模块菜单挂载的父级菜单 ID
overwrite: true # 覆盖策略:true 全量覆盖;false 缺失补生成、存在跳过
| 键 | 影响 |
|---|---|
| enable | false 时 Web 界面与生成接口不存在;生产必须 false(prod 模式强制校验) |
| parentMenuId | 新菜单挂到哪个目录下(改前先在菜单管理确认目标 ID) |
| overwrite | 决定已有文件的处置;对已手工调整的模块务必用 false |
覆盖策略详解
| 策略 | 行为 | 适用 |
|---|---|---|
| overwrite=false | 存在的文件跳过(Skipped),只补缺失 | 有手写内容的项目(默认安全档) |
| overwrite=true | 后端四件套 + 前端产物全部覆盖 | 模板升级后同步产物、纯生成器维护的模块 |
router.go 声明块与菜单行始终幂等:无论策略如何,重复生成不会产生重复声明/重复菜单。
生产红线
app.prod=true 时启动校验拒绝 generator.enable=true——生成器能写服务器源码,生产必须关闭。部署清单核对项之一(见 11.8 安全加固清单)。
环境变量覆盖
APP_GENERATOR_ENABLE=false
APP_GENERATOR_PARENTMENUID=189
APP_GENERATOR_OVERWRITE=false
生产用环境变量关掉生成器,配置文件保持开发默认即可。