我正在尝试使用TypeScript配置Axios("axios": "^1.1.3"
)的JWT身份验证。我在某些计算机上遇到TS2339错误(错误未显示在同事的计算机上)。
TS2339:类型“AxiosHeaders”上不存在属性“Authorization|“部分〈RawAxiosHeaders & MethodsHeaders & CommonHeaders〉”。类型“AxiosHeaders”上不存在属性“授权”。
20 |
21 | if (token) {
22 | req.headers!.Authorization = `Bearer ${token.accessToken}`;
| ^^^^^^^^^^^^^
23 | }
24 | return req;
25 | }, (err) => Promise.reject(err)
上下文代码:
export const axiosPrivate = axios.create({
baseURL: API_ENDPOINT_PREFIX(),
headers: {'Content-Type': 'application/json'},
withCredentials: true
});
axiosPrivate.interceptors.request.use((req) => {
const token = selectCurrentToken(store.getState());
if (token) {
req.headers!.Authorization = `Bearer ${token.accessToken}`;
}
return req;
}, (err) => Promise.reject(err)
);
此错误不会显示在其他计算机上。我希望设置Bearer令牌并运行应用程序,而不会收到此错误。
1条答案
按热度按时间g2ieeal71#
看起来Axios最近发布了一个更新头文件周围的类和类型的版本:https://github.com/axios/axios/commit/ab77a40e1cf73e76092588b89a3a0acd899bd5bc
您可以在
package.json
中尝试"axios": "1.1.3"
(不带插入符号),看看是否可以解决问题,如果可以,您的团队可能需要计划将代码库依赖项更新到axios的最新版本。现在Axios的Github上发布了一个关于它的问题:https://github.com/axios/axios/issues/5416