从webpack配置中访问模式
P粉505917590
P粉505917590 2023-08-17 19:12:37
[React讨论组]

我在webpack.config.js中有以下代码:

module.exports = {
    entry: {
        index: "./src/index.js",
        content: "./src/content.js"
    },
    mode: "production",             // 如何从React代码中访问此值?
    devtool: 'inline-source-map',
    ...

根据mode'development'还是'production',我需要为PayPal使用不同的客户端ID(沙盒或真实环境)。我希望避免重复。那么,我如何从我的React代码中访问该值?

P粉505917590
P粉505917590

全部回复(1)
P粉547362845

您可以通过将模块导出扩展为箭头函数来访问该模式。它是第二个参数(args)的一部分,我们可以解构。

module.exports = (env, { mode }) => {
  const isDevMode = mode === 'development';

  return {
     ...webpack配置在这里
   }
}

然后,您可以使用类似webpack.define的方法创建客户端环境变量,例如:

## 在webpack配置之前

const SOME_STUFF = {
  production: "a",
  development: "b"
};

const bakeEnvironmentValues = (values, mode) => {
  return values[mode];
};


## 在plugins中

 new webpack.DefinePlugin({
     SOME_ENV: JSON.stringify(
         bakeEnvironmentValues(SOME_STUFF, mode)
  )}),

然后,您可以通过在客户端JS中的任何位置引用SOME_ENV(或您所称呼的任何名称)来访问该环境变量。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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