使用 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
Weblugin 的ProvidePpackin 使模組僅在使用該模組的模組中用作全域變數。這對於在不明確導入的情況下導入常用模組非常有用。
範例:
// 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. Window/Global 物件
在瀏覽器環境中,透過window定義全域變數。在 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中文網其他相關文章!