javascript - 如何在构建时以不同的方式构建开发环境和生产环境?等)数据库配置

标签 javascript reactjs create-react-app

我正在使用create-react-app,我应该设置项目的prod env,dev env不同并部署到dev服务器和prod服务器(分开)

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

例如)

//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”生产环境和开发环境之前以不同的方式设置

最佳答案

使用 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",
  },
});

关于javascript - 如何在构建时以不同的方式构建开发环境和生产环境?等)数据库配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54357515/

相关文章:

reactjs - 添加到获取请求的相对路径

reactjs - npx create-react-app 在 big sur 上执行 yarnpkg 时失败

javascript - Javascript中基于两个对象数组计算的对象数组

javascript - websocket.send() 参数

javascript - 尝试使用 React 和 Express 在另一个选项卡中打开 .pdf 时显示空白内容

javascript - react 不识别参数?

reactjs - 在全新的 create-react-app 安装(脚本访问 "/initrd.img"、 "/vmlinuz"等)的构建错误中检测到潜在安全威胁

javascript - DOM 中相同元素的多次搜索

javascript - 根据特定列过滤表

javascript - react 保持渲染 Prop 包裹组件的状态