TypeScript:用其他东西替换命名空间
Posted
技术标签:
【中文标题】TypeScript:用其他东西替换命名空间【英文标题】:TypeScript: Substitute Namespaces with something else 【发布时间】:2018-10-28 14:22:48 【问题描述】:TSLint 抱怨不应使用命名空间,据我所知,常识是不应再使用它们,因为它们是特殊的 TypeScript 构造。
所以,我有一个简单的时间戳接口:
export interface Timestamp
seconds: number | Long;
nanos: number;
由于接口中缺少静态函数,我使用命名空间来组织该功能,如下所示:
export namespace Timestamp
export function now(): Timestamp
...
如果没有命名空间,您将如何建模?下面的构造看起来很难看,还有其他方法吗?
export const Timestamp =
now: () =>
...
【问题讨论】:
【参考方案1】:所以,我检查了 lib.es6.d.ts,看起来“const 对象”确实是要走的路:
interface DateConstructor
...
now(): number;
...
declare const Date: DateConstructor;
有趣的是,以下构造也有效,我认为这是“干净”的方法:
export interface Timestamp
seconds: number | Long;
nanos: number;
export class Timestamp
public static now(): Timestamp
...
【讨论】:
如需更明智的回答:***.com/questions/50415859/…以上是关于TypeScript:用其他东西替换命名空间的主要内容,如果未能解决你的问题,请参考以下文章