処理時間(ブラウザでの実行時間ではありません)中にwebpack ENV変数を取得/アクセスするにはどうすればよいですか? webpack.DefinePlugin(...)
はhtmlファイルでは機能しないようですが、メインのENV変数にアクセスできないindex.html
htmlでwebpack環境変数を渡すにはどうしたらいいですか?
どのような解決策ですか?
処理時間(ブラウザでの実行時間ではありません)中にwebpack ENV変数を取得/アクセスするにはどうすればよいですか? webpack.DefinePlugin(...)
はhtmlファイルでは機能しないようですが、メインのENV変数にアクセスできないindex.html
htmlでwebpack環境変数を渡すにはどうしたらいいですか?
どのような解決策ですか?
html-webpack-pluginを使用できます。あなたは実際にあなたにも使用して、あなたのEJSテンプレートにDefinePlugin
からあなたの変数を使用することができindex.ejs
<body class="<%= htmlWebpackPlugin.options.enviornment %>">
を
new HtmlWebpackPlugin({
template: './src/public/index.ejs',
inject: 'body',
environment: process.env.NODE_ENV
}),
を.ejsまたはいくつかの他のテンプレート言語を使用する必要がありますし、その
のように使用します。HtmlWebpackPlugin
。
EJS:
<script async src="https://www.googletagmanager.com/gtag/js?id=<%= GA_TRACKING_ID %>"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '<%= GA_TRACKING_ID %>');
</script>
webpack.config.js:
new webpack.DefinePlugin({
'GA_TRACKING_ID': JSON.stringify(process.env.GA_TRACKING_ID),
}),
これは良い選択肢であると思われます – darkylmnx