已配置experimentalDecorators仍报警告,添加编译参数才解决,求原因
以下是几种可能导致该问题的原因:
tsconfig.build.json继承配置失效
检查tsconfig.build.json中的extends字段路径是否正确,比如是否写为"./tsconfig.json"。如果路径错误,配置继承会直接失效,编译时自然读不到experimentalDecorators: true的设置。可以直接在tsconfig.build.json里显式添加"experimentalDecorators": true,验证是否是继承环节出了问题。build命令未指定正确的配置文件
查看package.json里的build命令,比如如果只是写了tsc,没有加上--project tsconfig.build.json参数,TypeScript可能会默认读取根目录的tsconfig.json,但如果项目结构复杂(比如多目录配置),就可能出现实际编译时未使用目标配置的情况。确认build命令是否明确指定了要使用的配置文件。编译缓存或上下文干扰
TypeScript的编译缓存可能保留了旧配置的状态,导致新配置未生效。可以尝试删除项目的dist目录、node_modules/.cache文件夹,再重新执行build。另外,检查IDE或编辑器的设置(比如VS Code的.vscode/settings.json)是否覆盖了项目的tsconfig配置,导致编译时用了不同的参数。TypeScript版本兼容性问题
即便升级了node和npm,项目依赖的TypeScript版本如果过旧,可能存在配置继承的bug。可以尝试升级项目中的typescript包到最新稳定版,再验证问题是否解决。
内容的提问来源于stack exchange,提问作者Isaw Afunnyfish

