2017-10-05 30 views
0

我在单页应用程序中有一个应用程序。 我也注册和登录外面。打字稿中一页的设计模式

我想知道我是否应该用于登录,注册和密码恢复使用方法:用类

1,标准单例模式。

export class Register { 
    foo(): any {} 
} 

2.or也许在Register.ts等中只有“export foo”。

export function foo: any {} 

3.or一切都保存在模块注册,模块登录?

module Publics { 
    export module Register { 
     export function foo(): any { 
      // ...    
     } 
    } 
    export module Login { 
     export function foo(): any { 
      // ...    
     } 
    } 
} 

这是1个文件附加,与常用功能PublicCommons.ts ...

+1

解决方案#2。不要使用关键字'module',它不是用于模块而是'namespace'。 – Paleo

回答

1

打字稿乌托邦模块,它把一切都井然有序,而不造成全球范围内发现的。在这个理想的世界,你会...

regsister.ts

export function foo() { 

} 

//... other registration related code 

login.ts

export function foo() { 

} 

//... other login related code 

在这种情况下,你不需要任何的命名空间(以前称为内部模块),因为通过使用模块(以前称为外部模块)已经“比名称空间做得更好”。

你的每个模块使得它的依赖显import语句,例如:

import { foo } from './register'; 

你仍然需要捆绑输出到单个文件作为开发人员的工作流程的一部分选项...或者你可以使用模块加载器在运行时保持模块完好无损。在需要的时候加载较小的文件,使用较小的缓存能力并不是一件坏事。