typescript 类型“AxiosHeaders”上不存在属性“Authorization|部分〈RawAxios标头和方法标头和公用标头>'

brc7rcf0  于 2022-12-30  发布在  TypeScript
关注(0)|答案(1)|浏览(744)

我正在尝试使用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令牌并运行应用程序,而不会收到此错误。

g2ieeal7

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

相关问题