私は最近 Node.js で作業を開始し、app.js ファイルには次の行があります。
app.use(express.favicon());
では、独自のカスタム favicon.ico を設定するにはどうすればよいですか?
私は最近 Node.js で作業を開始し、app.js ファイルには次の行があります。
app.use(express.favicon());
では、独自のカスタム favicon.ico を設定するにはどうすればよいですか?
favicon ミドルウェアをインストールしてから、次のようにします。
var favicon = require('serve-favicon');
app.use(favicon(__dirname + '/public/images/favicon.ico'));
または、path
モジュールを使用して:
app.use(favicon(path.join(__dirname,'public','images','favicon.ico')));
(このソリューションは Express 3 アプリでも機能することに注意してください)
API によると.favicon
、場所パラメーターを受け入れます。
app.use(express.favicon("public/images/favicon.ico"));
ほとんどの場合、これが必要になる場合があります (vsync が提案したように):
app.use(express.favicon(__dirname + '/public/images/favicon.ico'));
または、さらに良いことに、path
モジュールを使用します(Druskaが提案したように):
app.use(express.favicon(path.join(__dirname, 'public','images','favicon.ico')));
パッケージの説明によると:
ETag
ファイル システムのプロパティではなく、アイコンの内容に基づいて を提供します。Content-Type
.app.use(express.favicon(__dirname + '/public/images/favicon.ico'));
なしでローカルで動作させました__dirname +
が、展開したサーバーで動作させることができませんでした。
Express > 4.0 を使用している場合は、serve-faviconを使用できます。
外部ファイルを使用せず、ファイルを使用しないソリューションexpress.static
(たとえば、超軽量の 1 ファイル Web サーバーとサイト) が必要な場合は、ファイルを Base64 として使用serve-favicon
およびエンコードできます。favicon.ico
このような:
const favicon = require('serve-favicon');
const imgBuffer = new Buffer.from('IMAGE_AS_BASE64_STRING_GOES_HERE', 'base64');
// assuming app is already defined
app.use(favicon(imgBuffer));
IMAGE_AS_BASE64_STRING_GOES_HERE
ファビコン ファイルを Base64 としてエンコードした結果に置き換えます。オンラインでそれを行うことができるサイトがたくさんあります。検索してください。
サーバーやブラウザを再起動しlocalhost
て、ウェブ上で動作していることを確認する必要があることに注意してください。
以下にリストされているコードは機能します。
var favicon = require('serve-favicon');
app.use(favicon(__dirname + '/public/images/favicon.ico'));
ブラウザを更新するか、キャッシュをクリアしてください。