Définir des variables globales avec Webpack
Définir des variables globales dans un projet Webpack vous permet d'y accéder depuis n'importe quel module sans avoir besoin d'importations explicites . Voici plusieurs approches pour y parvenir :
1. Variables globales basées sur un module
Placez vos variables dans un module, tel que globals.js. Exportez un objet contenant vos variables globales et importez-le dans les modules suivants. Cela garantit que l'instance reste globale et conserve les modifications entre les modules.
Exemple :
// globals.js export default { FOO: 'bar' } // somefile.js import CONFIG from './globals.js' console.log(`FOO: ${CONFIG.FOO}`)
2. ProvidePlugin
ProvidPlugin de Webpack rend un module disponible en tant que variable globale uniquement dans les modules où il est utilisé. Ceci est utile pour importer des modules couramment utilisés sans importations explicites.
Exemple :
// 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
Pour les constantes basées sur des chaînes, utilisez DefinePlugin de Webpack pour définir des variables globales. Ces variables sont disponibles sous forme de chaînes littérales.
Exemple :
// webpack.config.js module.exports = { plugins: [ new webpack.DefinePlugin({ VERSION: JSON.stringify("5fa3b9") }) ] } // any-file.js console.log(`Running App version ${VERSION}`)
4. Fenêtre/Objets globaux
Dans les environnements de navigateur, définissez des variables globales via l'objet fenêtre. Dans les environnements Node.js, utilisez l'objet global.
Exemple :
// Browser environment window.myVar = 'test' // Node.js environment global.myVar = 'test'
5. Package dotenv (côté serveur)
Pour les projets côté serveur, utilisez le package dotenv pour charger les variables d'environnement à partir d'un fichier de configuration local dans le process.env objet.
Exemple :
// Require dotenv require('dotenv').config() // Use environment variables var dbHost = process.env.DB_HOST
Remarques :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!