首页 > 解决方案 > Angular 11字体内联失败

问题描述

试图在代理后面的系统中构建 angular11 应用程序。运行“ng build --prod”时出现此错误:

字体内联失败。 通过 Internet检索 https://fonts.googleapis.com/css?family=Roboto:300,400,500&display=swap时出错。getaddrinfo ENOTFOUND fonts.googleapis.com

有些帖子说要禁用它,指向这个角度文档URL以获取更多信息,但我无法让它工作。如果我将 angular.json “优化”参数编辑到下面,我得到一个模式验证失败...数据路径 .optimization 应该是布尔错误:

"optimization": { 
  "scripts": true,
  "styles": {
    "minify": true,
    "inlineCritical": true
  },
  "fonts": false
}

如果我关注这篇文章(搜索“AUTOMATIC FONT INLINING”)并在package.json中添加以下内容,它似乎没有任何效果:

"optimization": { 
  "scripts": true,
  "styles": false,
  "fonts": false
}

标签: angularangular11

解决方案


按照 Angular 对您提到的URL的指导,我只更改了 angular.json 文件,方式略有不同,它对我有用。这是我在生产属性下的 angular.json 文件中所做的更改。

"production": {
    ...
    "optimization": {
        "scripts": true,
         "styles": true,
         "fonts": false
     },
     ...
},

推荐阅读