Angular 2的字体很棒

时间:2017-02-08 07:10:03

标签: angular fonts

我开了一个NG2应用程序,想要添加字体真棒。 我用它安装了它:npm install --save font-awesome angular2-font-awesome。 我在systemjs.config.js中添加了项目:

map: {
  // our app is within the app folder
  app: 'app',

  // angular bundles
  '@angular/core': 'npm:@angular/core/bundles/core.umd.js',
  '@angular/common': 'npm:@angular/common/bundles/common.umd.js',
  '@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js',
  '@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js',
  '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js',
  '@angular/http': 'npm:@angular/http/bundles/http.umd.js',
  '@angular/router': 'npm:@angular/router/bundles/router.umd.js',
  '@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js',

  // other libraries
  'rxjs':                      'npm:rxjs',
  'angular-in-memory-web-api': 'npm:angular-in-memory-web-api/bundles/in-memory-web-api.umd.js',
  'angular2-fontawesome': 'node_modules/angular2-fontawesome'
},
// packages tells the System loader how to load when no filename and/or no extension
packages: {
  app: {
    defaultExtension: 'js'
  },
  rxjs: {
    defaultExtension: 'js'
  },
  'angular2-fontawesome': { defaultExtension: 'js' }
}

我在app.module.ts中添加了:

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { AppComponent }  from './app.component';
import { CorporateComponent }  from './corporate/corporate.component';
import { Angular2FontawesomeModule } from 'angular2-fontawesome/angular2-fontawesome'

@NgModule({
  imports:      [ BrowserModule , Angular2FontawesomeModule],
  declarations: [ AppComponent, CorporateComponent ],
  bootstrap:    [ AppComponent ]
})
export class AppModule { }

现在我尝试在我的组件中使用它: 我添加了html模板:

<i class="fa fa-industry" aria-hidden="true"></i>

但不知怎的,我不明白...... 我按照npm手册:https://www.npmjs.com/package/angular2-fontawesome

还有什么我可能忘记的吗?

感谢您的回答!

5 个答案:

答案 0 :(得分:6)

如果你想在你的应用中使用FontAwesome css样式,只需将css链接放到index.html,就不需要angular2-font-awesome

index.html

<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">

如果您使用angular2-font-awesome

<i fa [name]="industry"></i>
<fa [name]="industry"></fa>

我认为使用cdn更好。

答案 1 :(得分:0)

只需要包含script标记,就不需要付出太多努力。

<div>
      <h2>Hello {{name}}</h2>
      <i class="fa fa-home"></i>
</div>

并且我的index.html包含对上述脚本URL的脚本引用。

enter image description here

通过 Registering Here 获取您的脚本代码。您将收到来自font-awesome的邮件,如下面的enter image description here

<强> LIVE DEMO

答案 2 :(得分:0)

我认为您需要将它添加到.angular-cli.json部分  像这样:

您可以在node_modules中使用不同的名称。尝试在node_modules中的列表中查看,并查看它已安装的名称。我注意到的另一件事是npm install --save font-awesome angular-font-awesome

`"styles": [
    "styles.css",
    "../node_modules/bootstrap/dist/css/bootstrap.min.css",
    "../node_modules/font-awesome/css/font-awesome.css",
    "../node_modules/npm-font-open-sans/open-sans.styl"


  ],

答案 3 :(得分:0)

尝试使用此方法:

首先使用命令npm install --save font-awesome angular-font-awesome

安装超棒的字体

然后,使用

将其导入您的style.scss文件中
$fa-font-path: "../node_modules/font-awesome/fonts";
@import "../node_modules/font-awesome/scss/font-awesome.scss";

或使用

到您的style.css文件
@import '~font-awesome/css/font-awesome.css';

命令。字体可以使用了。

现在将字体放置在任何html文件中。 <i class="fa facebook"></i>

答案 4 :(得分:0)

如果您使用的是 SCSS,则可以使用以下方法:

npm install --save font-awesome

然后在文件style.scss

$fa-version: '4.7';
$fa-font-path: '../fonts';
@import '../node_modules/font-awesome/scss/font-awesome.scss';

$fa-font-path 必须相对于 font-awesome.scss。

$fa-version 不需要定义,但是如果你查看文件node_modules/font-awesome/scss/_path.scss,你会注意到网址如下:

...
src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
...