获取process.env以使用HERE API密钥

时间:2018-12-31 20:53:41

标签: here-api dotenv

我正在构建一个类似于this one的React地理任务列表。我在将Mapbox API用于映射组件,但我想将其切换到HERE的Map Image API。我已经在应用程序上设置了地图,但是我想将app_idapp_code隐藏在之前创建的.env文件中。这可能吗?我知道也可以限制哪些域可以访问密钥/代码,但是为了让您省心,我想将密钥隐藏在.env文件中。

这是我的.env文件(当然没有密钥):

REACT_APP_HERE_ID={my app_id}
REACT_APP_HERE_CODE={my app_code}

这是我将其介绍到我的应用中的地方:

const app_id = process.env.REACT_APP_HERE_ID;
const app_code = process.env.REACT_APP_HERE_CODE;

当我console.log app_idapp_code时,他们都返回undefined。我从Mapbox获得的先前的API密钥在我的.env文件中可以很好地工作,但是我似乎无法以相同的方式从此处获取app_idapp_code

我想念什么吗?仅限制哪些域可以使用我的ID和代码是否更容易?

1 个答案:

答案 0 :(得分:0)

我假设您正在使用“反应脚本”模块来构建/启动项目。同样按照上面的描述,我可以看到您使用正确的前缀'REACT_APP_'在.env文件中声明任何变量。

只需使用命令重新构建应用程序:

npm run-scripts build

或只需使用

重新启动您的应用
npm react-scripts start

我认为它应该可以正常工作。

而且,是的,您可以使用https://developer.here.com/中提供的“针对特定域保护应用程序凭据”功能来限制哪个域应使用您的AppID和AppCode,该功能就在您看到ID和代码的地方下方。

希望这会有所帮助。