使用 Webpack 定义全局变量
在 webpack 配置中,您可以使用各种方法来定义全局变量。
1.模块
创建一个模块并导出一个包含全局变量的对象。导入此模块并访问变量。
// config.js export default { FOO: 'bar', }; // somefile.js import CONFIG from './config.js'; console.log(`FOO: ${CONFIG.FOO}`);
2. ProvidePlugin
使用 ProvidePlugin 使模块可用作全局变量。该插件仅包含您使用它的那些模块中的模块。
// webpack.config.js const webpack = require('webpack'); const path = require('path'); module.exports = { plugins: [ new webpack.ProvidePlugin({ utils: 'utils', }), ], };
3. DefinePlugin
使用 DefinePlugin 将全局常量定义为 JSON 字符串。
// webpack.config.js const webpack = require('webpack'); module.exports = { plugins: [ new webpack.DefinePlugin({ PRODUCTION: JSON.stringify(true), VERSION: JSON.stringify('5fa3b9'), }), ], };
4.全局对象
访问全局对象(浏览器中的window,Node中的global)来定义全局变量。
// SPA or browser environment window.foo = 'bar'; // Webpack will convert global to window global.foo = 'bar';
5. Dotenv(服务器端)
使用 dotenv 包将环境变量从 .env 文件加载到 Node 的 process.env 中。
// server.js require('dotenv').config(); const db = require('db'); db.connect({ host: process.env.DB_HOST, username: process.env.DB_USER, password: process.env.DB_PASS, });
以上是如何在 Webpack 配置中定义全局变量?的详细内容。更多信息请关注PHP中文网其他相关文章!