首页 >web前端 >js教程 >如何在 Webpack 配置中定义全局变量?

如何在 Webpack 配置中定义全局变量?

Patricia Arquette
Patricia Arquette原创
2024-11-09 07:38:02439浏览

How to Define Global Variables in Your Webpack Configuration?

使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn