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

Angular 10升级Highcharts 11失败:无合适loader处理文件类型

解决Angular 10升级Highcharts至11.2.0后的模块解析错误

问题现象

升级后触发如下报错:

./node_modules/highcharts/highcharts.js 8:5207
模块解析失败:意外的标记 (8:5207)
可能需要合适的loader来处理该文件类型,当前未配置任何loader处理此文件。

原因分析

Highcharts 11.x版本的发布包引入了ES6+语法,而Angular 10默认的webpack配置对这类语法的处理支持不足,导致无法解析文件中的新语法标记。

解决方案

方案1:使用Highcharts的ES5兼容版本

修改导入语句,直接指向ES5版本的源码文件:

import * as Highcharts from 'highcharts/es-modules/masters/highcharts.src.js';

也可以在angular.json中配置别名,统一管理导入路径:

"projects": {
  "你的项目名称": {
    "architect": {
      "build": {
        "options": {
          "paths": {
            "highcharts": ["./node_modules/highcharts/es-modules/masters/highcharts.src.js"]
          }
        }
      }
    }
  }
}

方案2:用Babel处理Highcharts文件

  1. 安装依赖包:
npm install babel-loader @babel/core @babel/preset-env @angular-builders/custom-webpack --save-dev
  1. 在项目根目录创建webpack.config.js,添加规则处理Highcharts文件:
module.exports = {
  module: {
    rules: [
      {
        test: /highcharts\.js$/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env']
          }
        }
      }
    ]
  }
};
  1. 修改angular.json,让Angular使用自定义webpack配置:
"projects": {
  "你的项目名称": {
    "architect": {
      "build": {
        "builder": "@angular-builders/custom-webpack:browser",
        "options": {
          "customWebpackConfig": {
            "path": "./webpack.config.js"
          }
        }
      },
      "serve": {
        "builder": "@angular-builders/custom-webpack:dev-server"
      }
    }
  }
}

方案3:临时降级Highcharts版本

如果上述方案无法快速落地,可以暂时降级到对Angular 10兼容性更好的9.x版本:

npm install highcharts@9.3.2 --save

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 16:32:50