欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > react v18——env环境变量配置、打包配置(craco)

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

2024/11/30 9:45:34 来源:https://blog.csdn.net/weixin_42289080/article/details/140202995  浏览:    关键词:react v18——env环境变量配置、打包配置(craco)

一、env文件

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

REACT_APP_ENV=development
REACT_APP_API_BASE_URL=http://192.168.2.107:31000

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

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

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

二、代理配置

如果想要用代理,可以 在 craco.config.js 中配置:
(在使用less篇,有 craco的安装使用步骤 )

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

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

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

三、package.json 打包配置

  • 安装 cross-env:yarn add cross-env
  • 修改scripts,即可使用对应命令打包
"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"},

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com