Beckhoff TwinCAT 3中tsconfig.json编辑后编译还原问题的解决咨询
解决TwinCAT 3中tsconfig.json修改后编译被还原的问题
TwinCAT 3会自动根据项目TypeScript配置生成/覆盖tsconfig.json,这就是手动修改后编译会被还原的核心原因。以下是几种可行的解决方式:
方法1:通过项目属性修改官方支持的配置
这是最稳妥的官方方案,所有修改会被TwinCAT认可并同步到tsconfig.json,不会被编译操作覆盖:
- 右键TwinCAT项目 → 属性 → 导航到TwinCAT > TypeScript
- 在这个界面调整你需要的配置(比如目标JS版本、模块类型、严格模式、输出目录等),保存后tsconfig.json会自动更新,编译时不会被还原。
方法2:用扩展文件添加自定义配置
如果需要TwinCAT属性面板里没有的选项(比如include/exclude规则、paths路径映射等),可以用扩展文件的方式保留自定义内容:
- 在项目根目录创建
tsconfig.extends.json文件,写入你的自定义配置,示例:{ "include": ["./src/**/*"], "exclude": ["./node_modules"], "compilerOptions": { "paths": { "@/*": ["./src/*"] } } } - 打开TwinCAT自动生成的tsconfig.json,添加
"extends": "./tsconfig.extends.json"字段(TwinCAT不会覆盖这个字段) - 编译时,TypeScript会同时加载TwinCAT的核心配置和你的扩展配置,自定义内容不会被还原。
方法3:禁用自动生成tsconfig(不推荐)
这种方式会让TwinCAT完全停止管理tsconfig.json,但可能导致后续项目配置变更时出现兼容性问题:
- 找到项目的
.tsproj文件,用文本编辑器打开 - 找到
<GenerateTsConfig>True</GenerateTsConfig>行,修改为<GenerateTsConfig>False</GenerateTsConfig> - 保存后,你可以完全手动编辑tsconfig.json,但需要自行维护所有配置,确保符合TwinCAT的编译要求。
注意事项
- 优先使用方法1,这是官方设计的配置路径,避免潜在的兼容性问题。
- 使用方法2时,不要在扩展文件中修改TwinCAT核心配置项(比如
target、module),否则可能和自动生成的配置冲突。
内容的提问来源于stack exchange,提问作者ber999
相关产品推荐
相关产品推荐

