Javascript 在angular cli 8中为angular 7设置字体awesome 5
我想通过将字体复制到project(不从internet链接字体)并直接使用任何外部插件/项目,将fontawesome 5添加到angular cli 8.0.2项目(使用SCS)中 所以我创建项目并安装fontawesome(免费),如下所示Javascript 在angular cli 8中为angular 7设置字体awesome 5,javascript,angular,Javascript,Angular,我想通过将字体复制到project(不从internet链接字体)并直接使用任何外部插件/项目,将fontawesome 5添加到angular cli 8.0.2项目(使用SCS)中 所以我创建项目并安装fontawesome(免费),如下所示 ng n --style=scss --routing=true myproject cd myproject npm install --save-dev @fortawesome/fontawesome-free 我修改文件: 在angular
ng n --style=scss --routing=true myproject
cd myproject
npm install --save-dev @fortawesome/fontawesome-free
我修改文件:
- 在
的keyangular.json
projects.myproject.architect.build.options.styles中,我向数组添加以下值
”/node_modules/@fortawesome/fontawesome free/scss/fontawesome.scss“
- 在
I中添加行:styles.scss
@import./node_modules/@fortwome/fontwome free/scss/fontwome.scss”代码>
- 在
src/app/app.component.html
文本后添加Wellcome
ng serve
,并在浏览器中转到http://localhost:4200/
,请参见以下内容:
我使用了来自互联网的不同指令,但这是我得到的最佳结果——但仍然不起作用(我们看到的是正方形)如何解决此问题?编辑:图标不显示的原因是您没有指定图标样式的类型。您可以找到受支持的图标样式列表(或在下面列出):
brands.scss
solid.scss
regular.scss
light.scss
原始答案 FontAwesome包含在其NPM包中的SCSS文件并没有为您进行自我设置:您应该自己导入各个SCSS文件。(有关更多信息,请参阅) 相反,您应该包含已经编译的CSS,这样就不必手动导入SCSS文件。(运行下面的命令以设置样式) (或手动将“
”/node_modules/@fortawesome/fontawesome free/css/all.css”
添加到项目的样式中)
有关FontAwesome软件包中包含的内容的更多信息,请参阅。编辑:图标不显示的原因是您没有指定图标样式的类型。您可以找到受支持的图标样式列表(或在下面列出):
brands.scss
solid.scss
regular.scss
light.scss
原始答案 FontAwesome包含在其NPM包中的SCSS文件并没有为您进行自我设置:您应该自己导入各个SCSS文件。(有关更多信息,请参阅) 相反,您应该包含已经编译的CSS,这样就不必手动导入SCSS文件。(运行下面的命令以设置样式) (或手动将“
”/node_modules/@fortawesome/fontawesome free/css/all.css”
添加到项目的样式中)
有关FontAwesome软件包中包含的内容的更多信息,请参阅。Font Awesome现在提供的,但您也可以使用以下简单方法:
npm install --save @fortawesome/fontawesome-free
只需将以下内容添加到样式中即可加载字体图标。scss
:
$fa-font-path: '~@fortawesome/fontawesome-free/webfonts';
@import "~@fortawesome/fontawesome-free/scss/fontawesome.scss";
@import "~@fortawesome/fontawesome-free/scss/solid.scss";
@import "~@fortawesome/fontawesome-free/scss/brands.scss";
在Angularv8.2.14
和Angular CLIv8.3.19
上进行了测试,Awesome现在提供了,但您也可以使用以下简单方法:
npm install --save @fortawesome/fontawesome-free
只需将以下内容添加到样式中即可加载字体图标。scss
:
$fa-font-path: '~@fortawesome/fontawesome-free/webfonts';
@import "~@fortawesome/fontawesome-free/scss/fontawesome.scss";
@import "~@fortawesome/fontawesome-free/scss/solid.scss";
@import "~@fortawesome/fontawesome-free/scss/brands.scss";
在Angular
v8.2.14
和Angular CLIv8.3.19
上测试,您为什么要导入同一个SCSS文件两次?当我没有更改样式时。SCSS
将不可见“方形图标”如何尝试在样式.SCSS
文件中删除导入,而是从中导入所有.css
文件node_modules/@fortawesome/fontawesome free/css/all.css
转换为angular.json
?很可能它不起作用,因为fa.scss中指定的路径不适合您的项目,这意味着浏览器在此处找不到字体,因此只能渲染正方形。但要验证这一点,您必须使用开发工具进行调试,并查看加载了哪个字体文件(通过查看开发工具中的“网络”选项卡)你为什么要两次导入同一个SCSS文件?如果我不更改样式.SCSS
,那么“方形图标”将不可见,那么尝试删除样式.SCSS
文件中的导入,而将所有.css
文件从节点模块/@fortawesome/fontawesome free/css/all.css
导入到angular.json
?很可能它不起作用,因为fa.scss中指定的路径对于您的项目不正确,这意味着浏览器在此位置找不到字体,因此只能渲染正方形。但要验证这一点,您必须使用开发人员工具进行调试,并查看加载了哪个字体文件(通过查看开发工具中的“网络”选项卡),我只将styles.css中的导入更改为@import”。/node_modules/@fortawesome/fontawesome free/css/all.css”代码>并且它可以工作:)-谢谢,我只把styles.css中的导入改为@import./node_modules/@fortwawesome/fontwesome free/css/all.css”代码>并且它可以工作:)-谢谢