【发布时间】:2020-12-18 16:35:36
【问题描述】:
我遵循 Next.js 的文档,所以我创建了一个名为 .env.local 的文件并将我的 API 密钥存储在其中。
当 console.logging 该键时,它会显示在服务器控制台中,而不是浏览器控制台中。到目前为止,我明白这一点。
问题:我想从给定的 URL 中获取一些数据。在不将我的 API_KEY 提供给浏览器的情况下,我如何才能完成这项工作?
我认为这个话题对于初学者(就像我一样)来说非常令人困惑,如果有人能从中解开困惑,我和其他许多人(所以我认为)会非常高兴。
这是我的代码:(如果我在 URL 中硬编码我的 API_KEY,它就可以正常工作)
import Haversine from '../components/Haversine'
import LangLat from '../components/LangLat'
import axios from 'axios'
import { useEffect } from 'react'
const key = process.env.API_KEY
const index = () => {
console.log(key)
const getLangLat = async () => {
try {
const response = await axios.get(
`https://geocode.search.hereapi.com/v1/geocode?q=wimpfener str 40 backnang&apiKey=${key}`
)
console.log(response.data)
} catch (err) {
console.error(err.message)
}
}
useEffect(() => {
getLangLat()
})
return (
<div>
<Haversine />
<LangLat />
</div>
)
}
export default index
【问题讨论】: