Javascript 为什么带有个人访问令牌的环境文件在我的react应用程序中不起作用?
我的react应用程序使用graphql从github获取用户数据,请求通过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
.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})位于配置文件的插件部分