来源:互联网 更新时间:2026-08-22 13:25
需绕过默认覆盖逻辑:有// @generated标记的枚举不可直接编辑;方法一移至src/enums/custom/手动维护;方法二用declare module扩展;方法三修改模板加自定义插槽。

在使用 Atoms(如基于 TypeScript + React 的原子化组件库或代码生成工具)生成代码后,若需修改自动生成的枚举类型并确保后续重新生成不覆盖人工改动,必须绕过默认覆盖逻辑,建立可持久化的修改路径。
进入生成产物目录,找到enums/或types/generated/下对应的文件,查看文件顶部是否存在类似// @generated by atoms-cli v2.4.0的标记。若有该标记,即表示此为受控生成文件,
若无此标记,说明该枚举是手动维护的,可自由修改。
① 在项目中新建 src/enums/custom/ 目录;
② 将原生成文件中的枚举定义全量复制到 src/enums/custom/StatusEnum.ts;
③ 更改所有引用路径:将 import { StatusEnum } from '@/types/generated/enum' 更改为 import { StatusEnum } from '@/enums/custom/StatusEnum';
这一步最关键:Atoms 工具默认只扫描配置指定的输入源(如 OpenAPI schema),不会触碰 src/ 下的手写文件,因此后续任何生成操作都不会影响它。
适用于仅需追加值、不改动原始结构的场景。
在 src/enums/extend/StatusEnum.extend.ts 中写:
declare module '@/types/generated/enum' {
export enum StatusEnum {
ARCHIVED = 'archived',
}
}
注意:TypeScript 会合并同名命名空间和枚举,但要求原始枚举本身是 export enum StatusEnum { ... } 且未被 const enum 修饰,否则扩展无效。
进入 Atoms 配置目录(通常是 .atomsrc.json 或 atoms.config.ts);
查找 templates 或 enumTemplate 字段,将默认模板替换为支持 {{custom_append}} 占位符的自定义版本;
在项目根目录下新建 atoms-enum-hooks/StatusEnum.append.ts,内容只写新增成员:EXPORTED = 'exported',;
生成时,Atoms 会读取该文件内容插入到枚举末尾,且不触碰已有行。
腾讯ima怎么把微信内容一键导入知识库?
黄金价格不断创新高!黄金稳定币XAU、PAXG市值达11亿美元
CC币价格预测(2026-2035):Canton币今日价格走势+长期价格预测
腾讯ima怎么创建共享知识库?
新浪互联网热点小时报丨2026年07月26日16时_今日实时互联网热点速递
Celestia价格预测2026-2032:TIA币能否引领山寨币上涨行情?历史价格回顾
新浪机器学习热点小时报丨2026年07月25日18时_今日实时机器学习热点速递
比特币(BTC)核心周期指标复刻历史走势 价格或跌破5.8万美元关键支撑位
新浪人工智能热点小时报丨2026年07月30日18时_今日实时人工智能热点速递
WorkBuddy微信版怎么获得积分?
5000元起的鼠标哪个最值得入手?
车载冰箱重置到出厂设置几步?
比特币 2025 年价格预测:BTC 的未来走势
笔记本移动电源推荐哪款?
结婚家电首选:Leader懒人三筒Ultra热泵洗烘一体
短剧《史上最强洪荒修为》剧情介绍
kimi提示词专家使用方法新手指南
短剧《仙人跳获透视,古玩玉器我全拿捏》剧情介绍
腾讯ima知识库怎么分类管理?
WorkBuddy积分怎么获得?
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc