私はAngular 2+とAngular CLIを使用しています。
プロジェクトにfont-awesomeを追加する方法
Angular 2.0の最終リリース以降、Angular 2 CLIプロジェクトの構造が変更されました - ベンダファイルは不要、system.jsは不要 - webpackのみ。そうしたらいい:
npm install font-awesome --save
Angular-cli.jsonファイルでstyles[]
配列を見つけ、以下のようにfont-awesome referencesディレクトリをここに追加します。
"apps":[ { "root": "src"、 "outDir": "dist"、 .... ] "styles":[ "styles.css"、 "../node_modules/bootstrap/dist/css/bootstrap.css", " ../node_modules/ font-awesome/css/font-awesome.css "//これでwebpackは自動的にlink css要素を構築します!? ]、 ... } ] ]、
あなたが欲しいどんなhtmlファイルにもいくつかの素晴らしいフォントアイコンを置いてください:
<i class = "faアメリカ手話通訳fa-5x" aria-hidden = "true"> </i>
アプリケーションを停止する Ctrl + c ウォッチャーはsrcフォルダー専用で、Angular-cli.jsonは変更されていないため、ng serve
を使用してアプリを再実行します。
SASSを使用している場合は、npmからインストールするだけです。
npm install font-awesome --save
次のようにして/src/styles.scss
にインポートします。
$fa-font-path: "../node_modules/font-awesome/fonts";
@import "../node_modules/font-awesome/scss/font-awesome.scss";
ヒント:可能な場合はいつでもangular-cli
インフラストラクチャを台無しにしないでください。 ;)
一番上の答えは少し古くなっており、もう少し簡単な方法があります。
npmを通してインストール
npm install font-awesome --save
あなたのstyle.css
に:
@import '~font-awesome/css/font-awesome.css';
またはあなたのstyle.scss
で:
$fa-font-path: "~font-awesome/fonts"; @import '~font-awesome/scss/font-awesome';
編集: コメントに記載されているように、フォントの行は新しいバージョンでは$fa-font-path: "../../../node_modules/font-awesome/fonts";
に変更する必要があります
~
を使用することは、node_module
の中身をよく見ることになります。相対パスを使用するよりも、この方法で実行する方が適切です。その理由は、あなたがnpmにコンポーネントをアップロードし、あなたがコンポーネントscssの中にfont-awesomeをインポートした場合、それはその時点で間違っているであろう相対パスではなく〜で適切に動作するでしょう。
このメソッドは、cssを含むすべてのnpmモジュールに対して機能します。それはscssにも働きます。 しかし あなたがあなたのstyles.scssにCSSをインポートしているなら、それは(そして多分その逆も)うまくいかないでしょう。 これが理由です
AngularプロジェクトでFont-Awesomeを使うための3つの部分があります
インストール
NPMからインストールして、package.jsonに保存してください。
npm install --save font-awesome
スタイリング CSSを使用している場合
あなたのstyle.cssに挿入してください
@import '~font-awesome/css/font-awesome.css';
スタイリング SCSSを使用している場合
あなたのstyle.scssに挿入してください
$fa-font-path: "../node_modules/font-awesome/fonts";
@import '~font-awesome/scss/font-awesome.scss';
プレーンなAngular 2.4+ 4+を使った使い方
<i class="fa fa-area-chart"></i>
App.module.tsでMdIconRegistry
を使用するようにコンストラクタを変更します。
export class AppModule {
constructor(matIconRegistry: MatIconRegistry) {
matIconRegistry.registerFontClassAlias('fontawesome', 'fa');
}
}
@NgModule
インポートにMatIconModule
を追加します
@NgModule({
imports: [
MatIconModule,
....
],
declarations: ....
}
今すぐあなたが今できることができる任意のテンプレートファイルで
<mat-icon fontSet="fontawesome" fontIcon="fa-area-chart"></mat-icon>
Angular2
RC5とangular-cli 1.0.0-beta.11-webpack.8
を使うと、cssインポートでこれを達成できます。
素晴らしいフォントをインストールするだけです。
npm install font-awesome --save
次に、設定したスタイルファイルの1つにfont-awesomeをインポートします。
@import '../node_modules/font-awesome/css/font-awesome.css';
(スタイルファイルはangular-cli.json
に設定されています)
angular-font-awesome npmモジュールを使えます
npm install --save font-awesome angular-font-awesome
モジュールをインポートします。
...
//
import { AngularFontAwesomeModule } from 'angular-font-awesome';
@NgModule({
//...
imports: [
//...
AngularFontAwesomeModule
],
//...
})
export class AppModule { }
Angular CLIを使用している場合は、angle-cli.json内のスタイルにfont-awesome CSSを追加してください。
"styles": [
"styles.css",
"../node_modules/font-awesome/css/font-awesome.css"
],
注:SCSSプリプロセッサを使用している場合は、scssのcssを変更するだけです
使用例:
<fa name="cog" animation="spin"></fa>
公式の話があります 今のところ/
Font-awesomeライブラリをインストールしてpackage.json
に依存関係を追加してください
npm install --save font-awesome
CSSを使う
あなたのアプリにFont Awesome CSSアイコンを追加するには...
// in .angular-cli.json
"styles": [
"styles.css",
"../node_modules/font-awesome/css/font-awesome.css"
]
SASSを使用する
_variables.scss
に空のファイルsrc/
を作成します。
_variables.scss
に以下を追加してください。
$fa-font-path : '../node_modules/font-awesome/fonts';
にstyles.scss
に以下を追加してください。
@import 'variables';
@import '../node_modules/font-awesome/scss/font-awesome';
テスト
Ngを実行してアプリケーションを開発モードで実行し、 http:// localhost:4200 に移動します。
Font Awesomeが正しく設定されていることを確認するには、src/app/app.component.htmlを次のように変更します。
<h1>
{{title}} <i class="fa fa-check"></i>
</h1>
このファイルを保存したら、ブラウザに戻ってアプリのタイトルの横にあるFont Awesomeアイコンを確認してください。
また、関連する質問もあります。 Angular CLIは、フォントの素晴らしいフォントファイルをdistルートで出力します デフォルトでは、Angular cliはフォントをdist
ルートに出力します。まったく.
Angular 6の場合、
最初のnpm install font-awesome --save
angular.json にnode_modules/font-awesome/css/font-awesome.css
を追加します。
node_modules/
の前にドットを追加するには、 not を忘れないでください。
いくつかの実験の後、私は以下の作業を成功させることができました。
Npmでインストールします。
npm install font-awesome --save
angular-cli-build.js fileに追加:
vendorNpmFiles : [
font-awesome/**/*.+(css|css.map|otf|eot|svg|ttf|woff|woff2)',
]
に追加 - index.html
<link rel="stylesheet" href="vendor/font-awesome/css/font-awesome.min.css">
重要なのは、Angular-cli-build.jsファイルにフォントファイルの種類を含めることでした。
。+(css | css.map | otf | eot | svg | ttf | woff | woff2)
Font-awesomeのインストール方法はドキュメントによって異なるため、これを解決することを考えました。
npm install --save-dev @fortawesome/fontawesome-free
どうしてそれが素晴らしいのかわからなくなってしまったのですが、古いフォントに戻るのではなく、最新のバージョンを使い続けることにしました。
それから私は私のscssにそれをインポートしました
$fa-font-path: "../node_modules/@fortawesome/fontawesome-free/webfonts";
@import "~@fortawesome/fontawesome-free/scss/fontawesome";
@import "~@fortawesome/fontawesome-free/scss/brands";
@import "~@fortawesome/fontawesome-free/scss/regular";
@import "~@fortawesome/fontawesome-free/scss/solid";
@import "~@fortawesome/fontawesome-free/scss/v4-shims";
お役に立てれば
上記の多くの指示は、私はそれらを見てお勧めします。しかし、注意すべき点があります。
インストール後に私のプロジェクト(1週間前の新しいプラクティスプロジェクト)で<i class="fas fa-coffee"></i>
動作しなかったを使うと、ここのサンプルアイコンもFont Awesomeから先週のクリップボードにコピーされました。
This<i class="fa fa-coffee"></i>
は動作します 。あなたのプロジェクトにFont Awesomeをインストールしてもまだ動作していない場合は、アイコン上のクラスをチェックして「s」を削除し、動作するかどうかを確認することをお勧めします。
この記事では Fontawesome 5 を Angular 6 に統合する方法について説明します(Angular 5およびそれ以前のバージョンも動作しますが、その後は私の文章を調整する必要があります)。
オプション1:CSSファイルの追加
Pro:すべてのアイコンが含まれます
Contra:すべてのアイコンが含まれます(すべてのフォントが含まれているため大きいアプリサイズ)
次のパッケージを追加してください。
npm install @fortawesome/fontawesome-free-webfonts
その後、以下の行をangular.jsonに追加します。
"app": {
....
"styles": [
....
"node_modules/@fortawesome/fontawesome-free-webfonts/css/fontawesome.css",
"node_modules/@fortawesome/fontawesome-free-webfonts/css/fa-regular.css",
"node_modules/@fortawesome/fontawesome-free-webfonts/css/fa-brands.css",
"node_modules/@fortawesome/fontawesome-free-webfonts/css/fa-solid.css"
],
...
}
オプション2:Angular package
Pro:小さいアプリサイズ
Contra:あなたは別々に使いたいすべてのアイコンを含める必要があります
FontAwesome 5 Angularパッケージを使用してください。
npm install @fortawesome/angular-fontawesome
アイコンを追加するには、彼らのドキュメントに従ってください。彼らはSVGアイコンを使用しているので、あなただけのSVG /アイコンを追加する必要があります、あなたは本当に使います。
ここにはたくさんの良い答えがあります。あなたはそれらのすべてを試してもまだ代わりに四角形の代わりに素晴らしいアイコンを得ている場合は、あなたのCSSルールを確認してください。私の場合は、次のようにしました。
* {
font-family: Roboto-Light, Roboto, 'Helvetica Neue', sans-serif !important;
}
そしてそれは、素晴らしいフォントを上書きします。 *
セレクタをbody
に置き換えるだけで私の問題は解決しました:
body {
font-family: Roboto-Light, Roboto, 'Helvetica Neue', sans-serif !important;
}
編集:私は角型^ 4.0.0と電子^ 1.4.3を使用しています
ElectronJS または類似の問題が発生し、404エラーが発生した場合は、webpack.config.js
を追加して(場合は、npmを使ってインストールしたか、npmを使ってインストールするか、またはpackage.jsonファイル):
new CopyWebpackPlugin([
{ from: 'node_modules/font-awesome/fonts', to: 'assets' },
{ from: 'src/assets', to: 'assets' }
]),
私が使っているwebpackの設定は出力としてsrc/app/dist
を持っていることに注意してください、そしてdistではassets
フォルダがwebpackによって作成されています:
// our angular app
entry: {
'polyfills': './src/polyfills.ts',
'vendor': './src/vendor.ts',
'app': './src/app/app',
},
// Config for our build files
output: {
path: helpers.root('src/app/dist'),
filename: '[name].js',
sourceMapFilename: '[name].map',
chunkFilename: '[id].chunk.js'
},
したがって、基本的に、現在起こっていることは以下のとおりです。
dist
assetsフォルダにコピーしていますビルドプロセスが完了したら、アプリケーションは.scss
ファイルとアイコンを含むフォルダーを探して、それらを正しく解決する必要があります。それらを解決するために、私は私のwebpack設定でこれを使いました:
// support for fonts
{
test: /\.(ttf|eot|svg|woff(2)?)(\?[a-z0-9=&.]+)?$/,
loader: 'file-loader?name=dist/[name]-[hash].[ext]'
},
最後に、.scss
ファイルで、私はfont-awesome .scssをインポートし、フォントのパスを定義します。これもまたdist/assets/font-awesome/fonts
です。私のwebpack.configではoutput.pathがhelpers.root('src/app/dist');
に設定されているので、パスはdist
です。
だから、app.scss
で:
$fa-font-path: "dist/assets/font-awesome/fonts";
@import "~font-awesome/scss/font-awesome.scss";
このようにして、フォントパス(後で.scssファイルで使用される)を定義し、~font-awesome
を使用して.scssファイルをインポートし、node_modules
内のフォントが素晴らしいパスを解決します。
これはかなりトリッキーです、しかしそれは私がElectron.jsの404エラー問題を回避するために私が見つけた唯一の方法です
https://github.com/AngularClass/angular-starter から始めて、さまざまな設定の組み合わせを多数テストした後、AoTで動作させるために私がしたことがここにあります。
すでに何度も述べたように、私のapp.component.scss
では:
$fa-font-path: "~font-awesome/fonts" !default;
@import "~font-awesome/scss/font-awesome";
それからwebpack.config.js(実際にはスターターパック内のwebpack.commong.js):
プラグインセクションでは:
new CopyWebpackPlugin([
{ from: 'src/assets', to: 'assets' },
{ from: 'src/meta'},
{ from: 'node_modules/font-awesome/fonts', to: 'assets/fonts/' }
]),
ルールセクションで:
,
{
test: /\.(eot|woff2?|svg|ttf)([\?]?.*)$/,
use: 'file-loader?name=/assets/fonts/[name].[ext]'
}
Angular Font Awesomeパッケージを使用できます
npm install --save font-awesome angular-font-awesome
次に、モジュールにインポートします。
import { AngularFontAwesomeModule } from 'angular-font-awesome';
@NgModule({
//...
imports: [
//...
AngularFontAwesomeModule
],
//...
})
export class AppModule { }
次に、angle-cliファイルにスタイルをインポートします。
"styles": [
"styles.css",
"../node_modules/font-awesome/css/font-awesome.css"
],
npmライブラリのパッケージに関する詳細を参照してください。
AngularCLI 6.0.3とMaterial Designで動作するFontAwesome 5.2.0の最新バージョンを入手するのに数時間を無駄にしました。 FontAwesome Webサイトからnpmのインストール手順に従った
彼らの最新のドキュメントはあなたが以下を使ってインストールするように指示します:
npm install @fortawesome/fontawesome-free
数時間を無駄にした後、ついにそれをアンインストールし、次のコマンドを使って素晴らしいフォントをインストールしました(これはFontAwesome v4.7.0をインストールします):
npm install font-awesome --save
今ではそれを使用して正常に動作しています:
$fa-font-path: "~font-awesome/fonts" !default;
@import "~font-awesome/scss/font-awesome.scss";
<mat-icon fontSet="fontawesome" fontIcon="fa-Android"></mat-icon>
NPMのfont-awesomeパッケージは、2016年以降更新されていません。
私の問題は、font-awesomeの後のバージョンで追加されたアイコンを使用していたことです。
LESS(SCSSではない)とAngular 2.4.0、および標準のWebpack(Angularではない)CLIを使用すると、以下がうまくいきました。
npm install --save font-awesome
そして(私のapp.component.lessで):
@import "~font-awesome/less/font-awesome.less";
そしてもちろん、あなたはこの明白で非常に直感的なスニペットを必要とするかもしれません(webpack.confのmodule.loadersに)
{
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)(\?(v=)?(\d+)(\.\d+)*)?$/,
loader: 'file?name=graphics/[name].[ext]'
},
ローダーは、この種のwebpackエラーを修正するためにあります。
"Module parse failed: \node_modules\font-awesome\fonts\fontawesome-webfont.svg?v=4.7.0 Unexpected token (1:0)"
そして正規表現はそれらのsvg参照(バージョン指定の有無にかかわらず)と一致します。 Webpackの設定によっては、それが必要ない場合もあれば、それ以外のものが必要な場合もあります。
ウェブパック2の場合:
{
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)(\?(v=)?(\d+)(\.\d+)*)?$/,
loader: "file-loader"
}
file-loader?name=/assets/fonts/[name].[ext]
の代わりに
なんらかの理由でnpmからパッケージをインストールできない場合。あなたはいつでもindex.htmlを編集し、頭に素晴らしいCSSフォントを追加することができます。そしてそれをプロジェクトで使用してください。
Package.jsonに "devDependencies" font-awesome: "version number"として追加します
設定したコマンドプロンプトタイプnpmコマンドに移動します。
私はフォント恐ろしい5+を使用したいとほとんどの答えは、旧バージョンに焦点を当てます
あなたは、フォント素晴らしいウェブサイト上で述べた例を利用したい場合は気圧あなたの周りの仕事を使用する必要があるので、驚くばかりの新しいフォントについて5+角度のプロジェクトは、まだリリースされていません。 (特にFAS、代わりにFAクラスの遠クラス)
私はちょうど私のStyles.cssをで素晴らしい5をフォントにCDNを輸入してきました。念のためにこれを追加それは私が:-)たよりも、誰かが速く答えを見つけることができます
Style.cssによりコード
@import "https://use.fontawesome.com/releases/v5.0.7/css/all.css";