一、 报错:
Property 'page' does not exist on type 'AxiosResponse<any>'
二、 问题原因
由于 AxiosResponse
上并没有自己规定返回的一些字段,所以ts会报错,所以我们要定义一下类型
三、 解决方法
1. 方法一(简单)
(1)在src目录
下创建一个 compiler-vue.d.ts
文件
// compiler-vue.d.ts
declare module 'axios' {
interface AxiosInstance {
(config: AxiosRequestConfig): Promise<any>
}
}
(2)重启一下项目,完成
(3).d.ts文件的作用:
给TS用来描述库中成员类型的。
比如jquery库,现在你想把它用到ts里,但是ts不知道$(".html")是什么,d.ts就是用来告诉ts你定义的$是什么意思。
如果想要深入了解可以看看这篇文章:如何编写一个d.ts文件
2.方法二
(1)引入自动生成 .d.ts文件的npm包
地址:https://github.com/SitePen/dts-generator
(2)安装
npm install dts-generator