react v18——env环境变量配置、打包配置(craco)

一、env文件

像其他项目一样,在根目录新建 .env 文件,如 .env.development

env 复制代码
REACT_APP_ENV=development
REACT_APP_API_BASE_URL=http://192.168.2.107:31000

REACT_APP_API_BASE_URL 可以用在 axios 封装的位置,作为 baseURL

js 复制代码
const instance = axios.create({
baseURL: process.env.REACT_APP_API_BASE_URL,
  timeout: 30000,
  // `withCredentials` 表示跨域请求时是否需要使用凭证
  withCredentials: false,
});

这种直接使用 全链接请求 的方式,需要 后端 配合解决下 跨域 问题。

二、代理配置

如果想要用代理,可以 在 craco.config.js 中配置:

(在使用less篇,有 craco的安装使用步骤

js 复制代码
// 跨域配置
  devServer: {
    proxy: {
      "/api": {
        target: "http://192.168.2.107:31000",
        changeOrigin: true,
        pathRewrite: {
          "^/api": "",
        },
      },
    },

这时候 axios 的 baseUrl 就不用全链接了,比如:

js 复制代码
const instance = axios.create({
  baseURL: "/api",
  timeout: 30000,
  // `withCredentials` 表示跨域请求时是否需要使用凭证
  withCredentials: false,
});

三、package.json 打包配置

  • 安装 cross-env:yarn add cross-env
  • 修改scripts,即可使用对应命令打包
json 复制代码
"scripts": {
    "start": "craco start",
    "build": "craco build",
    "test": "craco test",
    "eject": "react-scripts eject",
    "build:dev": "cross-env REACT_APP_ENV=development craco build",
    "build:test": "cross-env REACT_APP_ENV=test craco build",
    "build:prod": "cross-env REACT_APP_ENV=production craco build"
  },
相关推荐
许泽宇的技术分享8 小时前
ReAct Agent:让AI像人类一样思考与行动的革命性框架
人工智能·agent·react
青衫客362 天前
用 Python 实现一个“小型 ReAct 智能体”:思维链 + 工具调用 + 环境交互
python·大模型·llm·react
柯北(jvxiao)9 天前
Vue vs React 多维度剖析: 哪一个更适合大型项目?
前端·vue·react
袋鼠云数栈前端9 天前
扣子 Coze 产品体验功能
大数据·ai·react
想你依然心痛14 天前
React 表单处理:移动端输入场景下的卡顿问题与防抖优化方案
react
亦世凡华、19 天前
React--》实现 PDF 文件的预览操作
经验分享·pdf·react·pdf预览
技术路上的探险家20 天前
Web3:在 VSCode 中使用 Vue 前端与已部署的 Solidity 智能合约进行交互
vscode·web3·区块链·交互·react·solidity·ethers.js
友莘居士25 天前
Dify中的Agent和发现和调用mcp工具两个节点调用的异同
agent·react·dify·functioncalling·mcp
aiguangyuan1 个月前
前端开发性能优化概要
系统架构·vue·react·前端开发
叶 落1 个月前
Component cannot be used as a JSX component
typescript·react