首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

带有create-react-app的.env无法传递apikey

问题:带有create-react-app的.env无法传递apikey。

回答: create-react-app是一个用于创建React应用程序的脚手架工具,它提供了一种快速搭建React项目的方式。在create-react-app中,可以使用.env文件来配置环境变量,但是.env文件中的变量默认只能在前端代码中使用,无法直接传递给后端。

解决这个问题的一种常见方法是使用代理服务器。通过在create-react-app的配置文件中设置代理,将前端请求转发到后端服务器,从而实现将.env中的apikey传递给后端。

以下是一种解决方案的步骤:

  1. 在create-react-app的根目录下创建一个名为setupProxy.js的文件(如果已存在,请跳过此步骤)。
  2. 在setupProxy.js文件中,使用http-proxy-middleware库来设置代理。可以通过npm安装该库:npm install http-proxy-middleware。
  3. 在setupProxy.js文件中,编写代理配置代码。例如,如果后端服务器的地址是http://localhost:5000,并且需要将所有以/api开头的请求转发到后端服务器,可以编写以下代码:
代码语言:txt
复制
const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function(app) {
  app.use(
    '/api',
    createProxyMiddleware({
      target: 'http://localhost:5000',
      changeOrigin: true,
    })
  );
};
  1. 在.env文件中添加apikey变量。例如,可以在.env文件中添加以下内容:
代码语言:txt
复制
REACT_APP_API_KEY=your_api_key
  1. 在前端代码中使用process.env.REACT_APP_API_KEY来获取apikey变量的值。例如,可以在需要使用apikey的地方,使用以下代码:
代码语言:txt
复制
const apiKey = process.env.REACT_APP_API_KEY;

这样,通过代理配置,前端代码中的请求将被转发到后端服务器,并且可以在后端代码中通过req.headers等方式获取到apikey的值。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云云函数(SCF)、腾讯云API网关(API Gateway)等。这些产品可以提供稳定可靠的云计算基础设施和服务,帮助开发者构建和部署各类应用。

腾讯云产品介绍链接地址:

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云函数(SCF):https://cloud.tencent.com/product/scf
  • 腾讯云API网关(API Gateway):https://cloud.tencent.com/product/apigateway
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券