【问题标题】:How can I build the dev env and the prod env differently in build time? etc) db config如何在构建时以不同的方式构建 dev env 和 prod env?等)数据库配置
【发布时间】:2019-01-25 00:46:25
【问题描述】:

我正在使用 create-react-app,我应该分别设置项目 prod env、dev env 并部署到 dev server & prod server(seperated)

现在,我找不到解决此问题的好方法,我正在更改自己的配置值,然后再部署到服务器(产品或开发)。但它是 低效且不稳定。

例如)

//config.json

...
"db": {
    "prodSchema": "foo_p",
    "devSchema": "foo_d",
    "username": "dany",
    "password": "****",
    "host": "123.456.789.111:3306",
    "dialect": "mysql"
},
...

并使用

//配置use.js

在部署、检查和更改中...

//db.connect(config.prodSchema)
db.connect(config.devSchema)

我想在 create-react-app 中以不同的方式在“yarn build”prod env 和 dev env 之前设置方式

【问题讨论】:

    标签: javascript reactjs create-react-app


    【解决方案1】:

    使用 webpack,您可以应用 environment plugin 并检查环境变量以检查您应该使用哪个配置文件。

    browserify 有一个 transformation called envify 用于同样的目的。

    那么你可以这样做:

    import axios from "axios";
    
    const env = process.env.NODE_ENV || "development";
    
    const config = {
      development: {
        baseURL: "http://127.0.0.1:3000",
      },
      staging: {
        baseURL: "https://mysuperservice.herokuapp.com",
      },
      production: {
        baseURL: "https://mysuperservice.com",
      },
    };
    const api = axios.create({
      baseURL: config[env].baseURL,
      headers: {
        "x-api-key": "ABC",
      },
    });
    

    【讨论】:

    • 哦,proccess.env.etc 变量在 react build 中有效吗?
    • 他们这样做,只需设置您的 webpack 或 browserify 并查看。
    • 你能看到我的例子吗??
    猜你喜欢
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 2019-09-24
    • 2016-07-16
    • 2018-10-23
    • 1970-01-01
    相关资源
    最近更新 更多