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

升级Angular至15版本遇Uncaught ReferenceError: global未定义问题求助

解决Angular 15中"global is not defined"错误

针对你升级Angular 15后遇到的这个错误,有几个可行的解决办法:

  • 修改入口文件main.ts
    直接在main.ts的最顶部(所有import语句之前)添加以下代码:

    (window as any).global = window;
    

    作为应用的入口文件,main.ts里的代码会在应用初始化前执行,能提前给浏览器环境注入global对象,覆盖依赖库的全局变量需求。

  • 配置自定义polyfills文件
    如果你习惯用polyfills.ts的方式,需要手动让Angular识别这个文件:

    1. 在项目根目录的src文件夹下创建polyfills.ts,并添加代码:
      (window as any).global = window;
      
    2. 打开angular.json,找到projects下对应项目的build -> options,修改polyfills字段的值为src/polyfills.ts,保存后重新构建项目即可。
  • 自定义Webpack配置(可选)
    如果你的项目配置了自定义Webpack,可以通过ProvidePlugin自动映射全局变量:
    在Webpack配置文件中添加:

    const webpack = require('webpack');
    
    module.exports = {
      // ...其他配置
      plugins: [
        new webpack.ProvidePlugin({
          global: 'window'
        })
      ]
    };
    

之前你自行创建polyfills.ts却没生效,是因为Angular 15默认不再自动加载这个文件,必须在angular.json中明确配置polyfills路径才会被构建流程识别。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 22:10:44