作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试将我的 api 客户端与 next.js 连接,这是我在 index.js 中的代码的一部分
const searchHandler = async(event) => {
const (value === '')return;
Router.push({
pathname: '/zdjatka',
query: {value: 'kotek'}});};
如你所见,我有一些查询参数。触发处理程序后,网站将路由到我的 zdjatka.js,代码如下,
Test.getInitialProps = async (context) => {
const { value } = await context.query
const res = await fetch(`https://stock.adobe.io/Rest/Media/1/Search/Files?locale=pl_PL&search_parameters[words]=${value}
&search_parameters[limit]=22&search_parameters[offset]=22`, {
headers: {
"x-api-key": "....",
"X-Product": "adobe-api/0.1.0",
"Content-Type": "application/json"
}
})
const data = await res.json()
// console.log(photos);
return {
data: data
}
}
问题是当我切换到 zdjatka 路由页面时,api 发送请求,并且 chrome 工具在 header 中显示我的 api-key,但是当我直接从网络浏览器 localhost:3000/zdjatka 打开时,没有来自索引页面的链接,我收到带有数据的重新请求,但 header 中不包含 api-key。与路由器连接时如何达到同样的效果?
最佳答案
您需要添加一个next.config.js
,并将其添加到其中:
module.exports = {
env: {
apiKey: 'your-api-key',
},
}
然后在 getInitialProps
中,您可以将 API key 引用为 process.env.apiKey
关于javascript - 如何在 getInitialProps 中隐藏 api key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59930455/
我是一名优秀的程序员,十分优秀!