プラグインhtml-webpack-plugin
と一緒にWebpackを使用しています。環境変数に基づいて、<meta></meta>
タグを最終的なindex.html
ファイルに挿入したいと思います。
どうすればよいですか?
独自のテンプレートを定義できます。 独自のテンプレートの作成 で簡単に説明されているように、任意のオプションを渡して、htmlWebpackPlugin.options
を使用してテンプレートで使用できます。
htmlWebpackPlugin.options
:プラグインに渡されたオプションハッシュ。このプラグインで実際に使用されるオプションに加えて、このハッシュを使用して任意のデータをテンプレートに渡すことができます。
たとえば、環境変数AUTHOR
を使用して作成者を定義し、プラグインにauthor
オプションを追加できます。
new HtmlWebpackPlugin({
template: 'template.ejs',
author: process.env.AUTHOR
})
template.ejs
で、その情報を使用して<meta>
タグを作成できます。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<% if (htmlWebpackPlugin.options.author) { %>
<meta name="author" content="<%= htmlWebpackPlugin.options.author %>">
<% } %>
</head>
<body>
</body>
</html>
代わりに.html
ファイルを使用すると、プラグインはejs-loader
にフォールバックしますが、html-loader
ファイル用に.html
を構成している場合は、フォールバックの代わりにそれを使用します。そのため、埋め込みは機能しません。
AUTHOR
が設定されている場合、作成者のメタタグが含まれます。それ以外の場合は含まれません。ランニング:
AUTHOR='Foo Bar' webpack
次のメタタグが含まれます。
<meta name="author" content="Foo Bar">
new HtmlWebpackPlugin({
template: 'index.html',
meta: {
author: process.env.AUTHOR
}
});
その結果、ヘッドタグ内に次のものが含まれます。
<meta name="author" content="Foo Bar">