【问题标题】:How to have different configuration based on environment for gulp?如何根据 gulp 的环境进行不同的配置?
【发布时间】:2017-01-10 18:50:25
【问题描述】:

我有一个使用 gulp 构建的 chrome 扩展 React 项目。我想根据环境传播配置值。例如,对于CHROME_ENV=staging,我想拥有config.oauth_client_id = '<some ceratain thing>' 并能够根据环境进行更改。所以这个问题有两个方面: * 如何根据环境变量使用 gulp 构建不同的文件? * 我如何构建我的 React 项目,以便有一个 config 模块或变量来存储我的配置。

【问题讨论】:

    标签: reactjs gulp environment-variables


    【解决方案1】:

    在您的 gulpfile.js 中,您可以使用 dotenv (https://github.com/motdotla/dotenv) 来设置环境变量或简单地将 gulp 脚本传递给它们:

    NODE_ENV=staging gulp some-command

    在节点中,您可以将其引用为process.env.NODE_ENV

    将环境变量传递给您的构建取决于您使用的是什么。

    对于 webpack,这是一个很好的答案:Passing environment-dependent variables in webpack

    对于 browserify,您很可能会查看: https://github.com/hughsk/envify

    我使用在启动脚本时设置的环境变量或使用 .env 引导我的客户端脚本,然后通过在脚本标签中呈现 json 从服务器发送它。这可能对您不起作用,因为它是一个浏览器扩展,需要在没有服务器的情况下执行,并且应该在构建时注入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-11
      • 1970-01-01
      • 2016-04-27
      • 2019-11-01
      • 2018-06-15
      • 1970-01-01
      • 2018-11-24
      • 2020-02-22
      相关资源
      最近更新 更多