Skip to content

10.6 配置与覆盖策略 ​

概述

生成器配置集中在 config.yaml 的 generator 节:总开关、菜单挂载位置、覆盖策略。三者共同决定"生成什么、挂在哪、是否覆盖手写"。

配置项 ​

yaml
generator:
  enable: true        # 总开关:false 时生成器路由整体不注册
  parentMenuId: 189   # 新模块菜单挂载的父级菜单 ID
  overwrite: true     # 覆盖策略:true 全量覆盖;false 缺失补生成、存在跳过
键影响
enablefalse 时 Web 界面与生成接口不存在;生产必须 false(prod 模式强制校验)
parentMenuId新菜单挂到哪个目录下(改前先在菜单管理确认目标 ID)
overwrite决定已有文件的处置;对已手工调整的模块务必用 false

覆盖策略详解 ​

策略行为适用
overwrite=false存在的文件跳过(Skipped),只补缺失有手写内容的项目(默认安全档)
overwrite=true后端四件套 + 前端产物全部覆盖模板升级后同步产物、纯生成器维护的模块

router.go 声明块与菜单行始终幂等:无论策略如何,重复生成不会产生重复声明/重复菜单。

生产红线 ​

app.prod=true 时启动校验拒绝 generator.enable=true——生成器能写服务器源码,生产必须关闭。部署清单核对项之一(见 11.8 安全加固清单)。

环境变量覆盖 ​

text
APP_GENERATOR_ENABLE=false
APP_GENERATOR_PARENTMENUID=189
APP_GENERATOR_OVERWRITE=false

生产用环境变量关掉生成器,配置文件保持开发默认即可。

相关 ​

小蚂蚁云团队 · 提供技术支持