如何从.env文件GatsbyJS,React中读取变量?

时间:2018-11-27 19:20:17

标签: javascript reactjs api environment-variables gatsby

我是Gatsby.js的新用户,它只是一个小型投资组合,我正在使用Instagram API在页面./src/pages/gallery.js上显示我的图片。

我在根目录中创建了一个.env文件,在其中有instagram的访问令牌。我在这里读到某处内容,对于React,环境变量必须以REACT_APP开头。所以我像REACT_APP_ACCESS_TOKEN=534R34QLJ.1JLJKL..一样。那么如何在URL`https://api.instagram.com/v1/users/self/media/recent/?access_token=中使用此变量?

我尝试过:

var ACCESS_TOKEN = process.env.REACT_APP_ACCESS_TOKEN; var url = 'https://api.instagram.com/v1/users/self/media/recent/?access_token=' + ACCESS_TOKEN;

变量url在此函数中传递:

fetchPhotos(){ request .get(url) .then((res) => { this.setState({ photos: res.body.data }) }) }

我一直都不确定。我尝试了其他方法来附加它,但是在调试之后,我发现变量ACCESS_TOKEN为空并且没有读取.env文件中的变量,并且如果我将访问令牌硬编码到URL中,它也可以正常工作,但我不想公开地显示它。那我想念什么?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用模板文字将其添加到您的网址中。

var url = `https://api.instagram.com/v1/users/self/media/recent/? 
access_token=${process.env.REACT_APP_ACCESS_TOKEN}`;

请确保使用反引号代替引号。