我用ts编写代码已经有一段时间了,但我仍然无法理解女巫是从模块中导出函数和类型的正确方法。
这是上下文:
Typescript 2.7,节点9。
在我的项目中,当我声明类型时,我更喜欢使用@types文件夹和d.ts文件。例如:
declare type Message = {
message: string
}
这样就无需在使用时明确导入类型。
但我无法理解如何将其导出。 我可以导出类型的唯一方法是使用接口。
export interface IMessage {
message: string
}
但是这样我必须在需要时导入ts文件中的接口,我想避免这种情况。
你能帮我理解正确的方法吗?
答案 0 :(得分:1)
如果您需要导出其他项目要使用的类型,请更改tsconfig.json
并添加declaration: true
。这将使TypeScript编译器为您的所有类型发出声明文件。
此外,如果你这样做,你可以从模块中导出类型
export type Action = () => void;
然后你可以做
import { Action } from './module';
它会完美地运作
答案 1 :(得分:0)
我认为不可能“完全”做你想做的事。例如:typescript pack(来自npm)使用interface String {..}
然后导出它。所以,如果你想避免接口,我认为是不可能的,但你可以添加你的自定义打字文件。