当我试图在.env文件中添加安全API密钥时,我得到了这个错误:
node:internal/errors:464
ErrorCaptureStackTrace(err);
^
TypeError [ERR_HTTP_INVALID_HEADER_VALUE]: Invalid value "undefined" for header "X-RapidAPI-Host"
at ClientRequest.setHeader (node:_http_outgoing:579:3)
at new ClientRequest (node:_http_client:256:14)
at Object.request (node:https:353:10)
下面是我的代码:
const axios = require("axios");
const BASE_URL = `https://mashape-community-urban-dictionary.p.rapidapi.com`
module.exports = {
getCompatibility: (yourSearch) => axios({
method:"GET",
url : BASE_URL + `/define`,
headers: {
'X-RapidAPI-Host': process.env.rapidapi_host,
'X-RapidAPI-Key': process.env.Rrapidapi_key
},
params: {
term: yourSearch
}
})
}
我的env文件:
rapidapi_host={my secure host}
rapidapi_key={my secure key}
有谁能解释一下为什么会这样吗?
我解决了这个错误,只是把文件扩展名在导入。
例如,我在所有文件中不写import { file } from "file"
,而是写import { file } from "file.js"
。
这个错误意味着你传递的X-RapidAPI-Host
头的值是空的。
检查进程rapidapi_host
环境变量设置是否正确。
在tsconfig
中您正在使用NodeNext
。在这种情况下,我们可以自由地使用这两种类型。因此,在从任何文件导入时,您必须将文件扩展名。从任何模块导入时都不会出现这种情况。如果你不想这样做,那么用你需要的确切版本替换NodeNext
。
不确定原因,但删除node_modules文件夹并重新安装npm i
解决了这个问题。