Webpack でグローバル変数を定義する
Webpack プロジェクトでグローバル変数を定義すると、明示的なインポートを必要とせずに任意のモジュールから変数にアクセスできるようになります。これを実現するためのいくつかのアプローチを次に示します。
1.モジュールベースのグローバル変数
変数をモジュール (globals.js など) に配置します。グローバル変数を含むオブジェクトをエクスポートし、後続のモジュールにインポートします。これにより、インスタンスがグローバルに維持され、モジュール間で変更が保持されることが保証されます。
例:
// globals.js export default { FOO: 'bar' } // somefile.js import CONFIG from './globals.js' console.log(`FOO: ${CONFIG.FOO}`)
2. ProvidePlugin
Webpack の ProvidePlugin は、モジュールが使用されているモジュール内でのみ、モジュールをグローバル変数として使用できるようにします。これは、明示的にインポートせずに、一般的に使用されるモジュールをインポートする場合に便利です。
例:
// webpack.config.js module.exports = { plugins: [ new webpack.ProvidePlugin({ 'utils': 'utils' }) ] } // any-file.js utils.sayHello() // Call the global function from 'utils.js'
3. DefinePlugin
文字列ベースの定数の場合は、Webpack の DefinePlugin を使用してグローバル変数を定義します。これらの変数は文字列リテラルとして使用できます。
例:
// webpack.config.js module.exports = { plugins: [ new webpack.DefinePlugin({ VERSION: JSON.stringify("5fa3b9") }) ] } // any-file.js console.log(`Running App version ${VERSION}`)
4.ウィンドウ/グローバル オブジェクト
ブラウザ環境では、ウィンドウ オブジェクトを通じてグローバル変数を定義します。 Node.js 環境では、グローバル オブジェクトを使用します。
例:
// Browser environment window.myVar = 'test' // Node.js environment global.myVar = 'test'
5. dotenv パッケージ (サーバー側)
サーバー側プロジェクトの場合、dotenv パッケージを使用して環境変数をローカル構成ファイルから process.env オブジェクトに読み込みます。
例:
// Require dotenv require('dotenv').config() // Use environment variables var dbHost = process.env.DB_HOST
注:
以上がWebpack プロジェクトのグローバル変数を効率的に管理および定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。