我有一个像这样设置的命名空间:
export namespace Entities {
export class Car { }
export class Motorbike { }
}
在另一个课程中,我会导入Car
和Motorbike
。但是,我无法简洁地导入它们。如果我尝试像这样导入它们:
import { Entities.Car as Car, Entities.Motorbike as Motorbike } from "./somefile.ts";
我收到此错误(.
之后的Entities
):
','预计。
我能够做到这一点:
// import whole namespace
import { Entities } from "./somefile.ts";
// use the type directly:
let vehicle: Entities.Car;
但理想情况下,我可以在不手动导入命名空间的情况下导入它们。这可能吗?
答案 0 :(得分:0)
我不明白为什么你会想要在这种情况下使用命名空间。你有几个选择:
在全局声明文件中定义类。然后,您可以直接在程序中使用您的类型,而无需导入它们。
// index.d.ts
declare class Car {
someProperty: any
}
// app.ts
let theCar: Car
theCar.someProperty
在模块声明文件中定义类。然后,您必须导入要使用的特定类型。
// index.d.ts
export class Car {
someProperty: any
}
// app.ts
import { Car } from './index'
let theCar: Car
theCar.someProperty