[解決済み] webpackで環境依存の変数を渡す
2022-03-15 04:40:43
質問
angularアプリをgulpからwebpackに変換しようとしています。gulpでは、NODE_ENVに応じてhtmlページ内のいくつかの変数(例えばデータベース名)を置き換えるためにgulp-preprocessを使用しています。webpackで同様の結果を得るための最良の方法は何ですか?
どのように解決するのですか?
基本的には2つの方法があります。
プラグインを定義する
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development')
}),
これは単にマッチを "そのまま" に置き換えるだけであることに注意してください。そのため、文字列はそのような形式になっています。オブジェクトのようなもっと複雑な構造を持つこともできますが、その考え方は理解できるでしょう。
環境プラグイン
new webpack.EnvironmentPlugin(['NODE_ENV'])
EnvironmentPlugin
用途
DefinePlugin
を内部に持ち、それを通して環境値をコードにマッピングしています。Terserの構文です。
エイリアス
別の方法として エイリアスモジュール . コンシューマ側からは、次のようになります。
var config = require('config');
コンフィギュレーションそのものは、次のようになります。
resolve: {
alias: {
config: path.join(__dirname, 'config', process.env.NODE_ENV)
}
}
仮に
process.env.NODE_ENV
は
development
. これは、次のようにマッピングされます。
./config/development.js
とすると このモジュールがマッピングするモジュールは、このように設定をエクスポートすることができます。
module.exports = {
testing: 'something',
...
};
関連
-
[解決済み】ローカルファイルを開くことができません - Chrome: ローカルリソースの読み込みが許可されていない
-
[解決済み】リソースの読み込みに失敗した:Bind関数でサーバーが500(Internal Server Error)のステータスで応答した【非公開
-
[解決済み】React - TypeError: 未定義のプロパティ 'props' を読み取ることができない。
-
[解決済み】 env: node: macにそのようなファイルやディレクトリはありません
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
[解決済み] JavaScriptでNULL、未定義、空白の変数をチェックする標準的な関数はありますか?
-
[解決済み] JavaScriptの変数のスコープとは何ですか?
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み] webpackでjQueryプラグインの依存関係を管理する
-
[解決済み】WebpackのHot Module Replacementとは一体何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Vue+ElementUIによる大規模なフォームの処理例
-
JavaScriptのクロージャの説明
-
vue ディレクティブ v-html と v-text
-
Vueの一般的な組み込みディレクティブの説明
-
[解決済み】TypeError: Router.use() はミドルウェアの関数を要求しているが、Object を取得した。
-
[解決済み】TypeErrorの解決方法。未定義またはヌルをオブジェクトに変換できない
-
[解決済み】<select>で現在選択されている<option>をJavaScriptで取得するにはどうすればよいですか?
-
HTML5 LocalStorage ローカルストレージとセッションストレージの使用法
-
JavaScriptのgetElementById()メソッド入門
-
[解決済み] 実行時に本番用と開発用のReactを検出する