角度构建找不到安装的字体-令人敬畏的节点模块

2022-03-31 00:00:00 node.js javascript npm angular font-awesome

每当我使用ng build --prod生成项目时,都会收到以下错误:

ERROR in ./src/styles.scss
Module build failed: 
  ModuleBuildError: Module build failed: 
    Error: Can't resolve '~font-awesome/css/font-awesome.css' in '/app/src'

styles.css使用@import "~font-awesome/css/font-awesome.css";。我已验证路径,并且模块已正确安装在node_modules/font-awesome

我还尝试过导入scss版本,有文件结尾和没有文件结尾。当我删除@import语句时,一切工作正常,即使我在同一文件中使用其他导入到其他节点_模块--所以这似乎只是一个字体超赞的包的问题...

另外,我通过SSH连接到我的停靠容器以检查node_modules/font-awesome/css/font-awesome.css是否存在,它确实存在。

想法?


解决方案

我不确定为什么该文件的css版本无法工作,但我找到了docs on the angular-cli,它为我提供了一些如何使其工作的提示。

1)导入SCSS版本而不是CSS版本。

@import "~font-awesome/scss/font-awesome.scss";

2)将字体路径定义为SCSS变量。

$fa-font-path: "~font-awesome/fonts";

请注意,必须在@import语句之前定义SCSS变量。

奇怪的是,这件事的错误是随机发生的。对于一个开发人员来说,一切正常,但当将Repo拉到另一台计算机时,出现了此问题。

相关文章