You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular接入Azure App Configuration在IE11报SCRIPT1002语法错误求助

问题根源

IE11 完全不支持 ES6 的class语法,你报错指向的AppConfigCredential类属于 Azure App Configuration JS SDK 的内部代码,该 SDK 默认发布包包含 ES6+ 语法,你之前配置的 Angular ES5 编译规则仅对业务代码生效,默认不会编译node_modules下的第三方依赖,因此 SDK 里的 ES6 语法直接流入了打包产物,触发 IE11 报错。

解决步骤
  • 先调整 SDK 版本:@azure/app-configuration 从 1.3.x 版本开始官方已停止支持 IE11 兼容,必须兼容 IE11 的前提下,先将该 SDK 版本降级到最后一个兼容 ES5 的稳定版 1.2.0。
  • 修改 ES5 转译配置,把 Azure 相关依赖加入编译范围:
    打开tsconfig-es5.app.json,在include数组中添加以下路径:
    "include": [
      "src/**/*.ts",
      "node_modules/@azure/app-configuration/**/*",
      "node_modules/@azure/core-auth/**/*",
      "node_modules/@azure/core-client/**/*",
      "node_modules/@azure/core-rest-pipeline/**/*"
    ]
    
  • 补充完整 IE11 所需 polyfill:
    打开polyfills.ts,确认已添加以下基础填充:
    import 'core-js/es/symbol';
    import 'core-js/es/object';
    import 'core-js/es/function';
    import 'core-js/es/number';
    import 'core-js/es/string';
    import 'core-js/es/date';
    import 'core-js/es/array';
    import 'core-js/es/regexp';
    import 'core-js/es/map';
    import 'core-js/es/weak-map';
    import 'core-js/es/set';
    import 'core-js/es/promise';
    import 'regenerator-runtime/runtime';
    
  • 你业务代码中的async/await语法不需要手动修改,只要上述转译配置生效,构建时会自动转译为 IE11 支持的 Promise 链式调用逻辑。
验证方式

修改配置后执行ng build --configuration=es5,在打包后的vendor.js中搜索class AppConfigCredential,如果搜索不到说明已被成功转译为 ES5 构造函数写法,部署后 IE11 即可正常运行。

内容的提问来源于stack exchange,提问作者Ajay。

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:18:03