在制作TS Nuxt应用程序时,我意识到定义一个与API进行通信的ApiService是有意义的,因此我创建了一个名为services
的文件夹并将其服务文件放入其中,因此我有了{{1} }。
文件内容类似
services/api-service.ts
我尝试将其导入到需要的布局中,例如:
import axios from 'axios'
export default class ApiService {
static someRequest(data: dataType) {
return axios.get("someEndpoint", data)
}
}
尽管我的IDE没有抱怨,但是Nuxt在编译时找不到它,给了我类似的错误消息
import ApiService from '@/services/api-service'
...
created () {
...
ApiService.someRequest(data)
.then(someMethod)
.catch(console.log)
}
我试图将其包含为模块,但是显然模块仅限于导出函数,因此导出类是行不通的。制作插件似乎也不是合乎逻辑的解决方案。如何在TS Nuxt应用程序中使用自定义服务类(例如ApiService)?
答案 0 :(得分:0)
将头撞在墙上约一天后,我找到了答案in this github issue。
显然,我的@nuxt/typescript-runtime
用TypeScript生成的应用附带的create-nuxt-app
的版本是"@nuxt/typescript-runtime": "^1.0.0"
,已经过时了。
要解决此问题,我跑了
yarn add @nuxt/typescript-runtime --dev
在我的终端机上升级到"@nuxt/typescript-runtime": "^2.0.0"
,现在我的导入工作正常。我在一个月前看到the package was bumped,所以希望没有其他人遇到相同的问题,如果他们愿意,我希望这个答案可以有所帮助。