【发布时间】:2021-09-20 23:19:11
【问题描述】:
我正在尝试使用 typescript 命名空间。当我不导入其他模块时它工作得很好,但是当我在我的情况下导入其他模块sort 导出函数get 不能在其他文件中使用,即使它们在同一个命名空间中。
import { sort } from "../sort"
namespace Api {
export async function get(url:string){
const res = await fetch("api/"+url)
return await res.json()
}
export class Users {
private uid: string
constructor(uid: string){
this.uid = uid
}
public async getUserProfile(){
return await get(`/u/${this.uid}/profile`)
}
public async getUserSongs(){
return await get(`/u/${this.uid}/musics`)
}
}
}
/// <reference path="api.ts" />
namespace Api {
export class Track{
private track_id: string
constructor(track_id){
this.track_id = track_id
}
public async hasLiked(){
return await get("/track/"+this.track_id+"/hasLiked")
}
}
}
上面写着could not find name get
但是当我不导入 sort 时,它可以完美运行
namespace Api {
export async function get(url:string){
const res = await fetch("api/"+url)
return await res.json()
}
export class Users {
private uid: string
constructor(uid: string){
this.uid = uid
}
public async getUserProfile(){
return await get(`/u/${this.uid}/profile`)
}
public async getUserSongs(){
return await get(`/u/${this.uid}/musics`)
}
}
}
【问题讨论】:
标签: javascript typescript class namespaces typescript-typings