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

Angular 12项目中Prime Icons在火狐浏览器无法加载显示问题求助

问题原因

你遇到的火狐浏览器PrimeIcons加载报错问题,根源在当前Webpack配置的svg资源处理规则和PrimeIcons的字体资源存在冲突:
你配置了全局匹配所有.svg文件使用asset/source类型处理,会误处理PrimeIcons依赖的svg格式字体文件,导致字体文件结构被破坏,火狐的字体安全校验机制识别到文件异常,直接拒绝加载,抛出对应错误。


解决方案

  1. 调整Webpack的svg处理规则,排除PrimeIcons目录的svg文件,修改后的配置如下:
const singleSpaAngularWebpack = require('single-spa-angular/lib/webpack').default

module.exports = (angularWebpackConfig, options) => {
  const singleSpaWebpackConfig = singleSpaAngularWebpack(angularWebpackConfig, options);

  singleSpaWebpackConfig.module.rules.push(
    {
      test: /\.(png|jpg|jpeg|gif)$/i,
      type: 'asset/inline',
    },
    {
      test: /\.(svg)$/i,
      type: 'asset/source',
      // 新增排除规则,不对primeicons的svg字体做处理
      exclude: /node_modules\/primeicons/
    }
  );

  singleSpaWebpackConfig.externals = [
    /^@example\/*/,
    /^single-spa$/,

    /^rxjs$/,
    /^rxjs\/operators$/,
    
    /^zone\.js$/,

    /^i18next$/,
  ];
  
  return singleSpaWebpackConfig
}
  1. 确认angular.json的build配置中styles数组已正确引入PrimeIcons样式:
    "node_modules/primeicons/primeicons.css"
  2. 可选兼容验证:PrimeNG 12.2.2官方适配的PrimeIcons版本为4.x系列,你当前使用的5.0.0版本跨度过大也可能引发兼容问题,若调整配置后仍未生效可尝试降级PrimeIcons版本,执行命令:
    npm i primeicons@4.1.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:54:08