Angular CLIファビコンを変更する方法


140

Angular CLIで設定されているデフォルトのファビコンを変更するにはどうすればよいですか?

多くのことを試しましたが、アイコン(srcフォルダー内のfavicon.ico)を削除しても、Angularロゴは常にファビコンとして表示されます。それはまだ表示され、どこから読み込まれたのかわかりません。

そのアイコンを別のアイコンに置き換えましたが、まだAngularロゴが表示されています。

<link rel="icon" type="image/x-icon" href="favicon.ico">


別のポートでアプリを実行すると問題が解決します。例:ng s --port 4201
2018年

同じ問題が発生しています。私の場合、ローカルではすべてが良好ですが、サーバーに展開すると500内部サーバーエラーが発生します...
Ziggler

私は少し助けになったすべての答えを読みましたが、正直に言って、基本的なニーズにとってそれほど複雑ではないはずです。「リフレッシュ」という答えは役に立ちません。
pdem

ファビコンは、単にデフォルトを聞かせて、それがどのように動作するかをここで見る、特別angular.jsonに構成された静的なファイルです:stackoverflow.com/questions/40424907/...
pdem

回答:


159

同じ名前(favicon.png)のpng画像を作成し、これらのファイルの名前を変更します。

index.html

<link rel="icon" type="image/x-icon" href="favicon.png" />

angular-cli.json

"assets": [
    "assets",
    "favicon.png" 
],

また、角度のデフォルトアイコンは二度と表示されません。

サイズは32x32にする必要があります。これ以上の場合は表示されません。

注:これはAngular 9では機能しません

角度9の場合、ファビコンをアセット内に配置し、次のようなパスを指定する必要があります

<link rel="icon" type="image/x-icon" href="assets/favicon.png">


2
Sukhveerさん、ありがとうございます。これは完全に機能しangular-cli.jsonます。ファイルにアイコンを追加した後、アプリを再起動するだけです。
Ajay Sivan

1
これは受け入れられるべき答えです!何もうまくいきませんでしたが、このトリックはうまくいきました!Sukhveer Singhさん、ありがとうございます!
Junia Montana

私もpngパスを変更する必要がありました<link rel="icon" type="image/png" href="./favicon.png" />
13:06にDude Pascalou

1
アンギュラ9トリックをありがとう
シャンティ

56

favicon.icoファイルを物理的に置き換えたので、どこかにキャッシュの問題があるはずです。ブラウザにキャッシュがあります。Ctrl+ を押して強制的にフラッシュさせF5ます。

それでもデフォルトのアイコンが表示される場合は、キャッシュがクリーンな別のブラウザを試してください(つまり、そのブラウザでまだページにアクセスしていない)。

キャッシュのクリアショートカット:出典

Windows
IE:Ctrl+ R; Firefox:Ctrl+ Shift+ R; Chrome:Ctrl+ R、またはCtrl+ F5、またはShift+ F5

Mac
Safari:+ R; Firefox / Chrome:+ Shift+ R


1
おかげで男は即座に働いた-勝利のためのCTRL F5-index.htmlと同じディレクトリにあるファビコンとAngular 6で働き、index.htmlのこの行... <link rel = "icon" type = "image / x-icon" href = "favicon.ico">
danday74 2018

ショートカットは素晴らしいです!
ヘラルドバウティスタ

36

ファイルに移動すると、最終的にこれが修正されました。私の場合:http:// localhost:4200 / favicon.ico

私は更新、停止、ng serve再開を試みましたが、「キャッシュとハードリロードを空にする」ことはできませんでした。


1
それが私にとってうまくいった唯一の答えです。それをありがとう!
Ivan

2
ファビコンに移動した後、ホームページをリロードしてctrl + f5(chrome)を押しました-これでうまくいきました。乾杯。
blueprintchris

1
これは私のために働いた唯一のものです。信じられない!
Yaniv Eliav

28

ブラウザがファビコンの新しいバージョンをダウンロードし、キャッシュされたバージョンを使用しないことを確認するには、ファビコンURLにダミーパラメータを追加します。

<link rel="icon" type="image/x-icon" href="favicon.ico?any=param">

おかげで私のために働いた
-Venky559

おかげで...?any = paramキャッシュされた以前のアイコンを削除するのに役立ちます
ArunDhwaj IIITH 2018年

これは私のために働いた唯一のものです。ctrl + f5や他のすべての推測の答えではなく、これが機能しています!
saferJo

14

角度の付いたCLIファビコンアイコンを変更できます。アイコンファイルを「assets」フォルダに配置し、そのパスをindex.htmlに指定する必要があります。

<link rel="icon" type="image/x-icon" href="./assets/images/favicon.png"> それは私にとって仕事です。


ええ、ここでは他に何も機能しませんでしたが、assetsフォルダーに貼り付けても問題なく動作しました。乾杯。
scohe001

10

私もAngularで何か問題があると思ってこれに苦労していましたが、問題はChromeがアイコンをキャッシュすることでした。標準の「空のキャッシュとハードリロード」またはブラウザの再起動は機能しませんでしたが、この投稿は正しい方向を示しました。

これは特に私のために働きました:

Windowsでchromeを使用している場合は、(exit chrome from taskbarC:\Users\your_username\AppData\Local\Google\Chrome\User Data\Default Favicons-journalに移動してファイルを削除し、Faviconsはchromeを再起動します(タスクバーからkill all instances)。

これがうまくいかない場合、その投稿には他にもたくさんの良い提案があります。


1
これにより、次にページにアクセスするまで、既存のブックマークページのアイコンも削除されます。これは私にとってもトリックでした。
デビッドB

9

Angular 6 favicon.pngの場合32x32は、アセットフォルダーにサイズを入れ、でパスを変更しますindex.html。そして、

<link rel="icon" type="image/x-icon" href="./assets/favicon.png">

確かに、私はアセットフォルダーに私のものを入れ、index.htmlとangular.jsonファイルのパスを変更する必要がありました。
G.デルヴィーン

5

拡張子が.icoのアイコン画像を作成し、それをコピーしてsrcフォルダー内のデフォルトのファビコンファイルに置き換えます。

index.html

<link rel="icon" type="image/x-icon" href="favicon.ico" />

angular.json

**"assets": [
          "src/favicon.ico",
          "src/assets"
        ],**

ライフセーバー!thx
koo9

4

favicon.icoをアセットに移動し、次にimgフォルダーに移動します。その後、ヘッダーのアイコンリンクタグのみを変更します。ファビコンがまったく表示されなかったときに役立ちます。


ChromeとFirefoxでは、キャッシュの問題ではありませんでした。ICOファイルを移動しましたが、ChromeとFirefoxはすぐに更新されました。
Steve11235 2017

favicon.icoファイルを更新しましたが、読み込まれません。私はこれを行い(アセットに移動してリンクを更新しました)、問題なく動作しました。
デビッド

4

ブラウザウィンドウでCtrl+ F5を押す


こんにちはアンドレイ、良い答えですが、これはキャッシュを更新することを説明したいかもしれません。そうでなければ、それは単なる「魔法の」答えです。
トム

1
この回答は、ユーリの回答(16年11月26日19:12に回答)から非常に役立つ説明を除いたものとまったく同じです。
robinCTS 2017年

4

任意のWebプロジェクトのファビコンをリロードするには:

ファビコンを右クリックして、「再読み込み」をクリックします。毎回動作します。


1
壁に頭をぶつけて20分後、これが機能した唯一の解決策です。ありがとうございました!!
wooldridgetm

2

将来の読者のために、これがあなたに起こった場合、あなたのブラウザは古いキャッシュされたファビコンを使いたがります。

次の手順を実行します:

  1. Ctrlキーを押しながら、ブラウザの[更新]ボタンをクリックします。
  2. Shiftキーを押しながら、ブラウザの[更新]ボタンをクリックします。

修繕。


2

アプリのアイコンを変更するには、以下の手順に従ってください:

  1. プロジェクトに.icoファイルを追加します。
  2. angular.jsonに移動し、その「プロジェクト」->「アーキテクチャ」->「ビルド」->「オプション」->「アセット」で、ここにアイコンファイルのエントリを作成します。方法については、favicon.icoの既存のエントリを参照してください。
  3. index.htmlに移動して、アイコンファイルのパスを更新します。例えば、

  4. サーバーを再起動します。

  5. ブラウザをハードリフレッシュすると、問題ありません。

1

私はしばらくこれをいじっていました。ファビコンは明らかに@scematicsと呼ばれるノードモジュールによって処理されていることがわかります(少なくともAngular5では)。

このフォルダでファビコンを変更できます:

[YourProjectName]\node_modules\@schematics\angular\application\files\__sourcedir__

そのフォルダーには、favicon.icoがあるはずです。これがロードされます。これは誰にも当てはまりませんが、私にとってはうまくいきました。

これがお役に立てば幸いです。幸せなコーディング!:D


1

動的に追加されたファビコンを必要とする人のために、ここに私がアプリ初期化子でやったことがあります:

import { APP_INITIALIZER, FactoryProvider } from '@angular/core'

export function faviconInitFactory () {

 return () => {
  const link: any = document.querySelector(`link[rel*='icon']`) || document.createElement('link')
  link.type = 'image/x-icon'
  link.rel = 'shortcut icon'

  if (someExpression) {
    link.href = 'url' || 'base64'
  } else {
    link.href = 'url' || 'base64'
  }

  document.getElementsByTagName('head')[ 0 ].appendChild(link)
}

}

export const FAVICON_INIT_PROVIDER: FactoryProvider = {
  provide: APP_INITIALIZER,
  multi: true,
  useFactory: faviconInitFactory,
  deps: []
}

src /の下のfav.icoファイルを削除して、これを追加するだけです。ファビコンはアプリの起動前に追加されます


1
<link rel="icon" type="image/x-icon" href="#">

アイコンのソースを追加し、アプリを再起動して変更します。


1

私はこれらの解決策の多くを試しましたが、失敗しました。私のangular 5アプリケーションで機能したのは以下です:

index.html:リンクタグをコメント化します

 <!-- <link rel="icon" type="image/png" href="src/assets/images/favicon.ico"> --> 

.angular-cli.json:アイテムタイプを「.ico」のままにします

 "assets": [
      "assets",
      "favicon.ico"
    ],

最後に..

  • プロジェクトのフォルダー構造で、src ex:(C:\ Dev \ EPS \ src)内にfavicon.icoを置きます。参照していないので、アセットフォルダーに入れる必要はありません。

  • アイコンが壊れていないことを確認します(ウィンドウエクスプローラー(壊れていないウィンドウアイコン)で表示した場合、アイコンは読みやすいはずです)

  • 32 x 32のサイズである必要があります

0

アイコン画像を使用するときは、png画像をダウンロードして手動でその拡張子をからpngに変更する場合のように、操作された拡張子ではないことを確認してくださいicon。この場合、画像が破損します。そして、ブラウザは理解していません。

私はこの間違いをしましたが、元のアイコン画像を使用した後、動作し始めました。


0

1. index.htmlファイルのリンクタグが次のようになっていることを確認します。

<link red="icon" type="image/x-icon" href="favicon.ico">

2. / srcディレクトリにあるfavicon.icoのファイル名を確認します。

3.ng serveでAngularを再実行し、アプリケーションを更新します。

4.それが表示されない場合(または、古いfavicon.icoファイルをバッファするようなもの)。favicon.icoファイルをロードするためにfaviconのパスを再度更新してみてください(例:yourdomain.com/favicon.icoを更新してください)


0

同じ問題がありました。

Macを使用している場合は、アプリを再起動する(そしてもちろんindex.htmlのパスを変更する)ことに加えて、キャッシュ(Option+ + E)を空にしてページをリロードする必要があります。


0
  1. 既存のfavicon.icoを削除します
  2. 「favico.ico」という名前の新しいアイコンをsrcフォルダーに追加します
  3. ブラウザのキャッシュをクリアします。

ブラウザのキャッシュだけが原因でアイコンが反映されるわけではありません。時々アプリケーションを再起動してみてください


0

次の手順は私のために働いた。

  1. デフォルトの「favicon.ico」ファイルを別の名前で新しいファイル、つまり私の場合は「_favicon.ico」で削除します。

    注::デフォルトの名前はブラウザにキャッシュされ、新しいアイコンで上書きすることが難しいため、そのままにしないでください。

  2. 新しいリンクタグでindex.htmlを更新する、つまり

     <link rel="icon" type="image/x-icon" href="_favicon.ico" /> 
    
  3. .angular-cli.jsonを新しいアイコン名、つまり「_favicon.ico」で更新します。

  4. アプリをビルドして起動し、ハードリフレッシュを実行しますCtrl+ F5


0

のようにシンプルで簡単:

  1. アイコンまたはpngをファビコンと同じディレクトリに追加します
  2. .angular-cli.jsonを編集し、アセットでfavicon.icoを削除して、適切な場所に配置します
  3. index.htmlを編集し、ファビコンを検索して、適切な場所に配置します
  4. もう一度サーブを実行

できた


0
<link rel="icon" type="image/x-icon" href="assets/liana.jpg">

"assets": [

        "assets/sorry.jpg",
        "assets/liana.jpg"

  ],

これは私のために働いた。


<link rel = "icon" type = "image / x-icon" href = "assets / liana.jpg">プラス
エステルバルダン

0

私の場合、問題は、通常のものとは異なる次元を持っていることでした。私は48x48 pxそれを期待していたのに対し32x32 px、私の拡張子はpngだったので、それを次のように変更する必要がありましたico


0

私にとって実際に機能したのは、ファビコンをアセットフォルダに入れて、ブラウザに自動的に表示されることでした。

  1. 場所をsrcフォルダー内のassetsフォルダーに変更します。
  2. このようにindex.htmlを変更してください <link rel="icon" type="image/x-icon" href="assets/favicon.png">

0

では、2020年の9.1.12ですね。なぜこのプロセスがそれほど難しいのか、よくわかりません。私は上記のほぼすべての投稿をフォローしましたが、どれも私のために機能しませんでした。

DIDの動作は次のとおりです。index.htmlのファビコン参照を完全に削除しました。それは完全に直感に反しますが、それは機能します。assetsフォルダーに入れる必要はありません。私はそれをすべて試しましたが、残念ながらそれらの提案はどれもうまくいきませんでした。

index.html

<!-- <link rel="icon" type="image/x-icon" href="favicon.ico"> DELETE THIS -->

angular.json

"assets": [
  "src/favicon.ico",
  "src/assets"
],

を実行するng build --prodと、ファビコンが表示されます。私のライブサーバーにも表示されます。


-1

Chromeのファビコンキャッシュを削除し、Macでブラウザを再起動するとうまくいきました。

rm ~/Library/Application\ Support/Google/Chrome/Default/Favicons

-1

私は同じ問題を抱えており、ここで説明されている方法でrefreshbyを強制することで解決しまし

サイトのファビコンを更新するには、リンクタグとファイル名のクエリ文字列を使用して、ブラウザに新しいバージョンをダウンロードさせることができます。これは、ユーザーが更新を確実に取得できるように、実稼働環境で特に役立ちます。

<link rel="icon" href="http://www.yoursite.com/favicon.ico?v=2" />

-1

私は自分の.icoファイルを作成し、assetsフォルダーを作成してその上にファイルを置くことで問題を修正しました。次に、Index.htmlのリンクhrefを変更しました

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.