Javascript 为什么带有个人访问令牌的环境文件在我的react应用程序中不起作用?

Javascript 为什么带有个人访问令牌的环境文件在我的react应用程序中不起作用?,javascript,reactjs,environment-variables,graphql,Javascript,Reactjs,Environment Variables,Graphql,我的react应用程序使用graphql从github获取用户数据,请求通过.env文件上的个人访问令牌发出 我的.env文件位于我的项目的根文件夹中。钥匙在左边,键值(个人访问令牌)在右边: .env文件:REACT\u APP\u GITHUB\u PERSONAL\u ACCESS\u TOKEN=xxxXXX 我的代码位于App.js文件中,该文件位于src文件夹中的component文件夹中。 App.js->/src/components/App.js 在我的App.js中,第6-1

我的react应用程序使用graphql从github获取用户数据,请求通过
.env
文件上的个人访问令牌发出

我的
.env
文件位于我的项目的
根文件夹中。钥匙在左边,键值(个人访问令牌)在右边:

.env
文件:
REACT\u APP\u GITHUB\u PERSONAL\u ACCESS\u TOKEN=xxxXXX

我的代码位于
App.js
文件中,该文件位于
src
文件夹中的
component
文件夹中。
App.js
->
/src/components/App.js

在我的
App.js
中,第6-10行有以下代码:

const axiosGitHubGraphQL = axios.create({
  baseURL: 'https://api.github.com/graphql',
  headers: {
    Authorization: `bearer ${process.env.REACT_APP_GITHUB_PERSONAL_ACCESS_TOKEN}`,
  },
});

通过这段代码,我可以使用
.env
文件中的个人访问令牌向github发出请求,但该文件不起作用

有人知道为什么我的
.env
文件不工作吗

我的react应用程序位于github的链接上:


(注意:我遵循了教程中关于此链接的第一步:)

自动加载
.env
的功能是一种
反应脚本
功能

当您使用
webpack dev server
进行开发时,您应该手动加载它

为此,您可以使用
dotenv

const dotenv=require('dotenv').config({path:uu dirname+'/.env'});
在网页包配置插件部分使用

new webpack.DefinePlugin({
“process.env”:dotenv.parsed
}),

请参阅更多信息:

我目前正在学习相同的教程,我遇到了相同的问题

解决方案是首先在GitHub上创建个人访问令牌,然后将其复制到您的.env文件,该文件应位于根目录中。 然后保存文件并重新启动应用程序

取消并终止react应用程序,npm再次启动它。这使环境变量能够自动拾取。我注意到环境变量必须重新启动才能正常工作

const axxiosGitHubGraphQL= axios.create({
  baseURL:"https://api.github.com/graphql",
  headers:{
    Authorization: `bearer ${
      process.env.REACT_APP_GITHUB_PERSONAL_ACCESS_TOKEN}`,
    }
  }
);

我不确定是不是你的打字错误,但我相信是
.env
而不是
env。
对不起,我犯了一个错误,我的项目中已经有
.env
了,我刚才在问题中用了错误的方式写的……这个功能在
react中可用-scripts@0.2.3和更高版本
,您需要使用此功能??在react Apps中使用
.env
,对不起,我犯了一个错误,在我的项目中它已经是
.env
,我刚才在我的问题中以错误的方式编写了…我分析了您的源代码并相应地更改了我的答案;)仍然不工作。。。我就是这样做的:我放置了
var dotenv=require('dotenv').config({path:'/home/user/react projects/react app'+'/.env'})
位于配置文件的顶部,而
新建webpack.DefinePlugin({“process.env”:dotenv.parsed})位于配置文件的插件部分