我有一个大型 TypeScript 项目,最近添加了 tslint 以强制执行一些基本的代码样式规则。这在很大程度上是无痛的,但有一件事我仍在质疑。
我有一些代码,其中有一个类似单例的对象,它包装了一些属性和函数。想象一下:
function open(x) {...};
function close(x) {...};
let isOpen = false;
export const MainMenu {
open,
close,
isOpen
};
但问题是 tslint 抱怨 MainMenu 的命名,因为我告诉它强制执行 camelCase 变量名称。在除此之外的所有情况下,该约定都适用,在这种情况下,我认为大写是正确的(Math
,Reflect
等都遵循这个约定)。
那么我应该在这里做什么?我可以在发生这种情况时禁用该规则,或者这个namespace
概念可能更适合这个?但是后来我使用了外部模块,所以我不知道是否应该。另外,namespace
-s 使添加属性成员变得更加困难。
欢迎任何建议。