我正在构建一个类似于this one的React地理任务列表。我在将Mapbox API用于映射组件,但我想将其切换到HERE的Map Image API。我已经在应用程序上设置了地图,但是我想将app_id
和app_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_id
和app_code
时,他们都返回undefined
。我从Mapbox获得的先前的API密钥在我的.env
文件中可以很好地工作,但是我似乎无法以相同的方式从此处获取app_id
和app_code
。
我想念什么吗?仅限制哪些域可以使用我的ID和代码是否更容易?
答案 0 :(得分:0)
我假设您正在使用“反应脚本”模块来构建/启动项目。同样按照上面的描述,我可以看到您使用正确的前缀'REACT_APP_'在.env文件中声明任何变量。
只需使用命令重新构建应用程序:
npm run-scripts build
或只需使用
重新启动您的应用npm react-scripts start
我认为它应该可以正常工作。
而且,是的,您可以使用https://developer.here.com/中提供的“针对特定域保护应用程序凭据”功能来限制哪个域应使用您的AppID和AppCode,该功能就在您看到ID和代码的地方下方。
希望这会有所帮助。