我想在TypeScript中开发一个节点模块,但是我遇到了所有可能需要,导入等选项的问题。
我现在正在做的是将每个类和接口都放在它自己的文件中。所以我需要要求所有依赖,这是一种愚蠢的,因为我正在键入两次类名,如下所示:
import Target = require('./Target');
export interface IFace {
getTarget(): Target.Target
}
我可以写import t = require('./Target');
但我需要写t.Target
,我认为这也很难看。
而且我也不能给它一个模块名称(比如FaceApp
),因为当我需要导入两个文件时,就会出现命名冲突。
显然如果一切都存在于一个文件中就不需要了,但我认为这远非最优。
那么你们如何在TypeScript中组织节点模块?我很高兴听到你的建议。
答案 0 :(得分:1)
您可以使用export =
语法来避免名称重复。即:
class Target{}
export = Target;
而不是export class Target
。
grunt-ts变换器也可以帮助你处理import语句爆炸:https://github.com/grunt-ts/grunt-ts/issues/85#issue-29515541
答案 1 :(得分:0)
export default class Target {}
然后你可以使用
进行真正的打字稿导入import Target from './Target'
或者,您可以重命名
import NewName from './Target'
另请注意,如果文件相关,您可以从文件中导出多个内容
export class SomeClass {}
export class OtherClass {}
在导入时,您可以更改名称
import { SomeClass as MySomeClass, OtherClass as MyOtherClass } from './Target'