升级到 Nebular 4 已停止显示超赞字体图标。设置包也不起作用
Upgrade to Nebular 4 has stopped displaying font awesome icons. Setting pack is also not working
升级 Angular 版本 8 后,Nebular 更新到版本 4。升级后,我看不到之前显示的超赞字体图标。
我试着浏览了这个 nebular 文档,它要求我们将 font awesome 注册为默认包。但即使这样做也行不通。
https://akveo.github.io/nebular/docs/guides/register-icon-pack#register-icon-pack.
找不到关于此问题的足够讨论。 Font awesome 已经包含在我的 angular.json 文件中
constructor(private iconService: NbIconLibraries) {
this.iconService.registerFontPack('font-aweome');
this.iconService.setDefaultPack('font-aweome');
}
Nebular 应该接受字体超棒的图标。
问题在这里打开:https://github.com/akveo/ngx-admin/issues/1524
有人知道如何包含 Font Awesome PRO 图标吗?!
创建一个 .npmrc 文件并添加:
@fortawesome:registry=https://npm.fontawesome.com/
//npm.fontawesome.com/:_authToken=<TOKEN>
来自[https://fontawesome.com/how-to-use/on-the-web/setup/using-package-managers#installing-pro]
安装 npm 包
免费
npm i -D @fortawesome/fontawesome-free
专业版
npm i -D @fortawesome/fontawesome-pro
现在例如在 ngx-admin 中需要注册 FontPacks 并在 app.component.ts.
中设置一个默认值
(编辑注意:最初我表示要将以下内容添加到 pages.component.ts,这是错误的地方,好像页眉组件中的菜单在页面组件之外,即使菜单不使用 FA 图标,当您单击该菜单时,Web 应用程序也会挂起浏览器,因此请确保添加到 app.component.ts 以确保所有菜单现在都关于它。)
import '@fortawesome/fontawesome-pro/css/all.css';
import '@fortawesome/fontawesome-pro/js/all.js';
...
constructor(private iconLibraries: NbIconLibraries) {
this.iconLibraries.registerFontPack('solid', {packClass: 'fas', iconClassPrefix: 'fa'});
this.iconLibraries.registerFontPack('regular', {packClass: 'far', iconClassPrefix: 'fa'});
this.iconLibraries.registerFontPack('light', {packClass: 'fal', iconClassPrefix: 'fa'});
this.iconLibraries.registerFontPack('duotone', {packClass: 'fad', iconClassPrefix: 'fa'});
this.iconLibraries.registerFontPack('brands', {packClass: 'fab', iconClassPrefix: 'fa'});
this.iconLibraries.setDefaultPack('duotone');
}
来自 [https://github.com/akveo/nebular/issues/1677]
此时在pages.menu.ts中说配置nb-menu可以只将FA图标名称添加到图标属性中例如:
export const MENU_ITEMS: NbMenuItem[] = [
{
title: 'Some Title',
icon: 'location',
link: '/your/link'
}
];
这导致显示 'fad fa-location',因为双色调是字体包集。
我认为你只是有一个拼写错误 - 将语句更改为:
this.iconService.registerFontPack('font-awesome');
this.iconService.setDefaultPack('font-awesome');
为了显示fontawesome,您需要注册图标包并将您的nebular 版本升级到4.6.0。
要注册图标包,您需要在 app.component.ts
中执行此操作
constructor(private iconLibraries: NbIconLibraries){ this.iconLibraries.registerFontPack('font-awesome', { packClass: 'fa' }); }
然后在菜单项中你可以像这样使用它
{ title: 'wallet', icon: { icon: 'fa-eur', pack: 'font-awesome' }, link: '/home/dashboard', }
希望这对您有所帮助。
升级 Angular 版本 8 后,Nebular 更新到版本 4。升级后,我看不到之前显示的超赞字体图标。
我试着浏览了这个 nebular 文档,它要求我们将 font awesome 注册为默认包。但即使这样做也行不通。 https://akveo.github.io/nebular/docs/guides/register-icon-pack#register-icon-pack.
找不到关于此问题的足够讨论。 Font awesome 已经包含在我的 angular.json 文件中
constructor(private iconService: NbIconLibraries) {
this.iconService.registerFontPack('font-aweome');
this.iconService.setDefaultPack('font-aweome');
}
Nebular 应该接受字体超棒的图标。
问题在这里打开:https://github.com/akveo/ngx-admin/issues/1524
有人知道如何包含 Font Awesome PRO 图标吗?!
创建一个 .npmrc 文件并添加:
@fortawesome:registry=https://npm.fontawesome.com/
//npm.fontawesome.com/:_authToken=<TOKEN>
来自[https://fontawesome.com/how-to-use/on-the-web/setup/using-package-managers#installing-pro]
安装 npm 包
免费
npm i -D @fortawesome/fontawesome-free
专业版
npm i -D @fortawesome/fontawesome-pro
现在例如在 ngx-admin 中需要注册 FontPacks 并在 app.component.ts.
中设置一个默认值(编辑注意:最初我表示要将以下内容添加到 pages.component.ts,这是错误的地方,好像页眉组件中的菜单在页面组件之外,即使菜单不使用 FA 图标,当您单击该菜单时,Web 应用程序也会挂起浏览器,因此请确保添加到 app.component.ts 以确保所有菜单现在都关于它。)
import '@fortawesome/fontawesome-pro/css/all.css';
import '@fortawesome/fontawesome-pro/js/all.js';
...
constructor(private iconLibraries: NbIconLibraries) {
this.iconLibraries.registerFontPack('solid', {packClass: 'fas', iconClassPrefix: 'fa'});
this.iconLibraries.registerFontPack('regular', {packClass: 'far', iconClassPrefix: 'fa'});
this.iconLibraries.registerFontPack('light', {packClass: 'fal', iconClassPrefix: 'fa'});
this.iconLibraries.registerFontPack('duotone', {packClass: 'fad', iconClassPrefix: 'fa'});
this.iconLibraries.registerFontPack('brands', {packClass: 'fab', iconClassPrefix: 'fa'});
this.iconLibraries.setDefaultPack('duotone');
}
来自 [https://github.com/akveo/nebular/issues/1677]
此时在pages.menu.ts中说配置nb-menu可以只将FA图标名称添加到图标属性中例如:
export const MENU_ITEMS: NbMenuItem[] = [
{
title: 'Some Title',
icon: 'location',
link: '/your/link'
}
];
这导致显示 'fad fa-location',因为双色调是字体包集。
我认为你只是有一个拼写错误 - 将语句更改为:
this.iconService.registerFontPack('font-awesome');
this.iconService.setDefaultPack('font-awesome');
为了显示fontawesome,您需要注册图标包并将您的nebular 版本升级到4.6.0。 要注册图标包,您需要在 app.component.ts
中执行此操作constructor(private iconLibraries: NbIconLibraries){ this.iconLibraries.registerFontPack('font-awesome', { packClass: 'fa' }); }
然后在菜单项中你可以像这样使用它
{ title: 'wallet', icon: { icon: 'fa-eur', pack: 'font-awesome' }, link: '/home/dashboard', }
希望这对您有所帮助。