首页
学习
活动
专区
工具
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
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

浅谈pymysql查询语句中带有in时传递参数问题

= [1,2,3] sql = "select img_url from img_url_table where id in %s" cs.execute(sql, (img_ids, )) # 直接传递元组包裹列表即可...补充知识:Python将多行数据处理成SQL语句中where条件in(‘ ‘,’ ‘,’ ‘)数据 在工作中有时需要查询上万行指定数据,就会用到SQL语句中 select * from table1...where table1.name in (‘ ‘ , ‘ ‘ ) 条件查询,所以自己写了个小小Python脚本来处理这多行数据,废话不多说,上代码: 初级代码: old_data = open(...不足:处理后数据应去掉最后一个逗号,这样才是最完整SQL语句符合where in()条件数据。...以上这篇浅谈pymysql查询语句中带有in时传递参数问题就是小编分享给大家全部内容了,希望能给大家一个参考。

5.2K10

使用 GitLab CI 在云开发上部署React应用

在过去几个月中,越来越多用户支持了静态托管能力,众多开发者也给予了越来越多关注。 已有能力不断优化,是云开发团队使命。...本文使用create-react-app创建了一个React应用,借助Gitlab CI向大家讲述将项目部署到云开发静态网站托管过程。...创建web应用 在本地环境通过create-react-app创建了一个名为test-cra项目: yarn create react-app test-cra 设置git相关设置,并上传应用到GitLab...创建云开发环境 输入网址:https://console.cloud.tencent.com/tcb/env/index 如果没有授权会弹出以下画面: 点击访问管理,进入授权。 创建一个云开发环境。.../build - npm i -g @cloudbase/cli - tcb login --apiKeyId $SecretId --apiKey $SecretKey - tcb

2K10
  • 打通GitLab CICD到腾讯云静态网站托管

    云开发静态托管是云开发提供静态网站托管能力,静态资源(HTML、CSS、JavaScript、字体等)分发由腾讯云对象存储 COS 和拥有多个边缘网点腾讯云 CDN 提供支持 本文使用了create-react-app...有丰富Web应用开发经验和在前端工程化方面有较多实践。...,点击Create Project 15865860008180.jpg 创建web应用 在本地环境通过create-react-app创建了一个名为test-cra项目 yarn create react-app...commit" git push -u origin master 接下来到腾讯云中创建云开发环境 创建云开发环境 输入网址:https://console.cloud.tencent.com/tcb/env.../build - npm i -g @cloudbase/cli - tcb login --apiKeyId $SecretId --apiKey $SecretKey - tcb

    4.2K1611

    定制 create-react-app:如何制作自己模版

    可即便是应用了 CRA 这么棒工具,开发者仍需要稍作调整,增加 CRA 中不含特别的脚本和模块等。今天,我将教你如何为自己团队创建自定义 create-react-app 脚本。...许多开发者已经使用了 create-react-app 来构建他们 React 应用,但像我之前提到,开发者仍呼吁更多配置选项。...开发者面对 eject 时主要挑战一是无法再享受 CRA 之后新特性了,二是在团队内同步设置会非常低效。...='ENGR' 一旦用这个版本 create-react-app 工具安装完了 react-scripts,用户就必须将 .env.example 文件重命名为 .env。...现在,在终端中进入 test-app 目录,重命名 .env.example 为 .env 并运行 npm start 命令。 你应用会以新模版启动: ?

    1.4K10

    create-react-app初探

    本文作者:IMWeb IMWeb团队 原文出处:IMWeb社区 未经同意,禁止转载 create-react-app是一个reactcli脚手架+构建器,我们可以基于CRA零配置直接上手开发一个...入口为create-react-app/packages/react-scripts/bin/react-scripts.js,这个脚本会在react-scripts中设置到package.jsonbin...= 'development'; process.env.NODE_ENV = 'development'; 因为是开发模式,所以这里把babel,node环境变量都设置为development,然后是全局错误捕获.../config/env'); 还有一些预检查,这部分是作为eject之前对项目目录检查,这里因为eject不在我们范围,直接跳过。...configuration object,然后传递webpack config实例化一个webpack compiler实例,传递devServerconfiguration实例化一个WDS实例开始监听指定端口

    1.3K10

    如何在纯 JavaScript 中使用 GraphQL

    https://stepzen.com/blog/how-to-write-graphql-queries variables 是可选,并且是一个 JSON 对象,其中包含要传递给查询所有变量值。...当查询包含多个命名操作查询时,它用于指定要运行操作。 如果你将一个 GraphQL 作为一个 GET 请求发送,则需要将以上内容作为查询参数传递。...我们来看一个不使用特殊库简单示例(请注意,我确实使用了 dotenv 来获取用于访问我 StepZen 后端 API 密钥)。在这个示例中,我仅传递了一个 query,该查询在发送前需要字符串化。...传递变量 在此示例中,我们查询具有一个需要传递变量($id)。为了传递这个变量,我们需要将变量值添加到请求正文中包含数据里。...其次,更重要是我无法访问环境变量。需要强调是,如果你 API 需要传递某种 API 密钥或凭据,那么你不会希望在客户端执行这一操作,因为你凭据将被公开。

    3.5K10

    带你了解一些package.json骚操作

    ):修改了不兼容 API Y 是次版本号(minor):新增了向下兼容功能 Z 为修订号(patch):修正了向下兼容问题 当某个版本改动比较大、并非稳定而且可能无法满足预期兼容性需求时,我们可能要先发布一个先行版本...自定义命令(bin) 用过 vue-cli,create-react-app等脚手架朋友们,不知道你们有没有好奇过,为什么安装这些脚手架后,就可以使用类似 vue create/create-react-app...当用户安装带有 bin 字段包时, 如果是全局安装,npm 将会使用符号链接把这些文件链接到/usr/local/node_modules/.bin/; 如果是本地安装,会链接到....若要实现像 vue create/create-react-app之类命令一样简便方式,则可以在上文提到 bin 子目录下可执行文件cli.js 中第一行写入以下命令: #!...config/path.js 和 config/env.js 两个文件: env.js 主要目的在于读取 env 配置文件并将 env 配置信息给到全局变量 process.env ; path.js

    1.9K40

    【原创】不想eject,还咋修改create-react-app配置?

    一、先抛问题 许多刚开始接触create-react-app框架同学,不免都会有个疑问:如何在不执行eject操作同时,修改create-react-app配置。...create-react-app框架本身将webpack、babel相关配置封装在了react-scripts中, 执行yarn eject后,会将webpack、babel等配置暴露在config目录下...其次,在版本迭代时,如果更新了react、react-scripts、eslint、tsconfig等依赖,有可能会引起版本依赖问题,即使我们按错误信息修复了之后,项目还是无法运行。...所以我们一般不太建议使用yarn eject方式暴露create-react-app框架配置。...-D cross-env用于配置环境变量 配置 // package.json文件 "scripts": { "build:analyzer": "cross-env ANALYZER=true

    2.9K40

    常用package.json,还有这么多你不知道骚技巧

    ):修改了不兼容 API Y 是次版本号(minor):新增了向下兼容功能 Z 为修订号(patch):修正了向下兼容问题 当某个版本改动比较大、并非稳定而且可能无法满足预期兼容性需求时,我们可能要先发布一个先行版本...自定义命令(bin) 用过 vue-cli,create-react-app等脚手架朋友们,不知道你们有没有好奇过,为什么安装这些脚手架后,就可以使用类似 vue create/create-react-app...当用户安装带有 bin 字段包时, 如果是全局安装,npm 将会使用符号链接把这些文件链接到/usr/local/node_modules/.bin/; 如果是本地安装,会链接到....若要实现像 vue create/create-react-app之类命令一样简便方式,则可以在上文提到 bin 子目录下可执行文件cli.js 中第一行写入以下命令: #!..."proxy": "http://localhost:4000" // 配置你要请求服务器地址 } 注意,当 create-react-app 版本高于 2.0 版本时候在 package.json

    1.6K30

    带你了解一些package.json骚操作

    ):修改了不兼容 API Y 是次版本号(minor):新增了向下兼容功能 Z 为修订号(patch):修正了向下兼容问题 当某个版本改动比较大、并非稳定而且可能无法满足预期兼容性需求时,我们可能要先发布一个先行版本...自定义命令(bin) 用过 vue-cli,create-react-app等脚手架朋友们,不知道你们有没有好奇过,为什么安装这些脚手架后,就可以使用类似 vue create/create-react-app...当用户安装带有 bin 字段包时, 如果是全局安装,npm 将会使用符号链接把这些文件链接到/usr/local/node_modules/.bin/; 如果是本地安装,会链接到....若要实现像 vue create/create-react-app之类命令一样简便方式,则可以在上文提到 bin 子目录下可执行文件cli.js 中第一行写入以下命令: #!...config/path.js 和 config/env.js 两个文件: env.js 主要目的在于读取 env 配置文件并将 env 配置信息给到全局变量 process.env ; path.js

    1.8K50

    02-React脚手架+Todos项目(组件拆分, State应用, 组件通信+数据校验, nanoid)

    npm i create-react-app -g 创建脚手架项目 # create-react-app 项目名称 create-react-app react_staging 启动项目 yarn start...Demo 依照于上面的React脚手架开发 效果 代码 https://gitee.com/flower-dance-mrz/react_todos 知识点 组件拆分 将组件拆分为上中下 将中间组件每一行又拆分为一个组件...只是为了演示效果, 具体开发自行评估 数据存放位置 数据存放在同一父级中, 并且在父级中提供操作方法 组件通信 父组件传递子组件 通过Props传递 子组件传递父组件 通过Props传递函数..., 然后在子组件中回调父组件中函数, 实现 checked 与 defaultChecked defaultChecked只有在第一次初始化时候, 才会渲染, 只执行一次, 后续数据改变, 不会触发重新渲染...checked每次都会渲染, 但是如果使用checked, 必须实现onChange函数, 处理状态改变, 不然就会无法取消选中,或者选中 前端生成唯一ID(nanoid) 添加nanoid依赖库 yarn

    37920

    Create React App 源码揭秘

    编译打包 process.env.NODE_ENV = 'production' const chalk = require('chalk') const fs = require('fs-extra'...react-scripts start 创建scripts/start.js文件,借助webpack功能启服务 process.env.NODE_ENV = 'development' const configFactory...new InterpolateHtmlPlugin(HtmlWebpackPlugin, env.raw), // 如果你需要一个缺失模块,然后用' npm install '来安装它,你仍然需要重启开发服务器...通过create-react-app生成项目内部引用不了除src外目录,不然会报错which falls outside of the project src/ directory....CHANGELOG梳理异常折腾,无法很好自动关联各个模块变动联系,基本靠口口相传 使用monorepo管理缺点 统一构建工具,对构建工具提出了更高要求,要能构建各种相关模块 仓库体积会变大 使用

    3.6K20

    使用 Electron 和 React 构建桌面应用

    前端路由往往与构建工具、前端界面框架相互配合,构建工具负责将所有文件打包,而前端界面框架往往自己带有自己前端路由框架,最后打包出来输出文件,一般只有一个 inedx.html、一个 bunble.js...安装Electron 首先,当然需要安装 Electron 了,进入 cmd: npm install -g electron 如果无法安装尝试为 npm 设置代理。...官方 create-react-app 工具,使用它可以直接创建一个 React 项目。...使用 npm 全局安装它: npm install -g create-react-app 安装完 create-react-app 之后,我建议使用 WebStorm 来创建项目,因为 WebStorm...create-react-app 以供你创建项目: WebStorm创建项目 第一栏是你项目的位置,自己选一个并且取好项目名即可,第三栏如果报红色错误则说明你 create-react-app 工具没能被识别或者没能被安装

    3.6K20

    2020-6-5-如何指定create-react-app默认启动浏览器

    今天和大家聊一聊create-react-app设置默认启动浏览器方式。 ---- 问题来源 对于create-react-app默认会在npm start执行之后在默认浏览器打开页面。...解决方案 在npm脚本中,我们可以使用create-react-app提供配置参数BROWSER指定启动浏览器。...这里是环境变量中将空格也设置在了BROWSER字段中,但是create-react-app没有做trim处理导致。...env方式配置 此外如果你不想用脚本配置方式,还可以再项目所在目录下创建一个.env文件,进行环境变量设置。 也能实现指定浏览器效果 ?...---- 参考文档: Advanced Configuration start without opening url in browser · Issue #3070 · facebook/create-react-app

    1.4K20
    领券