webpack中mode、NODE_ENV、DefinePlugin、cross-env的使用

絕刀狂花
发布: 2025-10-02 10:17:00
原创
623人浏览过

mode的基础介绍

通过选择 development, productionnone 中的一个,来设置 mode 参数,你可以启用 webpack 内置在相应环境下的优化。其默认值为 production

只需在配置对象中提供 mode 选项:

  mode: 'production',
};
登录后复制

或者从 CLI 参数中传递:

webpack --mode=development
登录后复制

问题来了

使用上面任何一种配置,在模块中虽然能够拿到 process.env.NODE_ENV,但是在 webpack.config.js 中拿不到,打印及输出如下:

配置文件中:

webpack中mode、NODE_ENV、DefinePlugin、cross-env的使用

模块中打印结果:

webpack中mode、NODE_ENV、DefinePlugin、cross-env的使用

为保证在配置文件和模块中都能拿到这个环境变量,需改变配置如下

NODE_ENV=development webpack
登录后复制

如上配置,打印结果如下:

webpack中mode、NODE_ENV、DefinePlugin、cross-env的使用

webpack中mode、NODE_ENV、DefinePlugin、cross-env的使用

SpeakingPass-打造你的专属雅思口语语料
SpeakingPass-打造你的专属雅思口语语料

使用chatGPT帮你快速备考雅思口语,提升分数

SpeakingPass-打造你的专属雅思口语语料25
查看详情 SpeakingPass-打造你的专属雅思口语语料

如此在模块中、配置文件中就可以同时拿到环境变量了。

注意:在进行“NODE_ENV=development webpack”配置时候,在大多数Windows命令行中在使用 NODE_ENV = production 设置环境变量时会报错。同样,Windows和Linux命令如何设置环境变量也有所不同。所以需要使用 cross-env 来支持跨平台设置和使用环境变量的脚本,这样可以设置在不同的平台上有相同的 NODE_ENV 参数。

配置如下:

cross-env NODE_ENV=development webpack
登录后复制

用途

根据不同的环境进行不同的配置,如不同环境的域名不同,我们就可以利用 DefinePluginhttps://www.php.cn/link/af6e8730844faa627625a6c3fa98f0fc

config/env.js

const env = process.env.NODE_ENV;
const config = {
  development: {
    loginApi: 'www.abc-login-test.com',
    orderApi: 'www.abc-order-test.com'
  },
  production: {
    loginApi: 'www.abc-login.com',
    orderApi: 'www.abc-order.com'
  }
};
module.exports = config[env];
登录后复制

webpack.config.js

const envConfig= require('./config/env');
module.exports = {
  ...
  plugins: [
    new webpack.DefinePlugin({
      envConfig: JSON.stringify(envConfig)
    })
  ]
  ...
}
登录后复制

index.js

console.log(envConfig)
登录后复制

打印结果如下:

webpack中mode、NODE_ENV、DefinePlugin、cross-env的使用

总结:

webpack中mode、NODE_ENV、DefinePlugin、cross-env的使用

以上就是webpack中mode、NODE_ENV、DefinePlugin、cross-env的使用的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号