编译Chromium 110(基于Brave 1.48.x)遇ES5转const不支持错误
问题成因分析
预生成代码与TS目标环境不兼容:
gen/third_party/devtools-frontend/src/front_end/entrypoints/formatter_worker/FormatterActions.prebundle.ts是构建过程中自动生成的DevTools前端代码,其中使用了ES6+的const关键字,但项目tsconfig.json第10行指定的目标环境是es5——ES5标准并不支持const(仅支持var),TypeScript编译器无法将const语法向下转换为ES5兼容代码,因此抛出转换错误并终止ninja构建。DevTools版本与项目TS配置不同步:Brave 1.48.x基于Chromium 110,这个版本的DevTools前端预构建脚本已经开始引入ES6+语法特性,但项目全局的TS配置仍保留为
es5,没有跟随DevTools代码的兼容性要求更新,导致编译流程出现冲突。构建脚本未做兼容处理:生成上述预bundle文件的脚本没有考虑到项目全局的TS目标配置,既没有在生成代码时自动降级为ES5兼容语法,也没有为DevTools相关代码单独设置适配的TS配置,导致后续编译环节触发语法转换失败。
内容的提问来源于stack exchange,提问作者Sebi O.
相关产品推荐
相关产品推荐

