这就是我组织TypeScript文件的方式:
mean(BirthNumbers$V1)
来自C#,我的方法是根据文件夹结构创建名称空间。因此,MBZ文件夹中的所有内容都将具有名称空间“MBZ”,而Controls文件夹中的所有内容都将具有名称空间“MBZ.Controls”。这允许Controls文件夹中的所有内容隐式引用任何前一个文件夹中的任何内容。
所以,这是上述文件的一个例子:
MBZ (Folder)
Utilities.ts
Controls (Folder)
Designer.ts
Form.Ts
namespace MBZ
{
export function ProcessSelection()
{
// A Common Utility available to anything in the MBZ.* namespace
}
}
namespace MBZ.Controls
{
export module Designer
{
export function Initialize()
{
// Initialize Control
}
export function OnSubmit()
{
// Calls common utility
ProcessSelection();
}
}
}
根据我读过的所有内容,人们都说模块是要走的路,你应该明确地导入文件中需要的每个模块。这对我来说似乎很奇怪 - 使用上面的方法你永远不必明确地引用任何东西,除非你指的是在不同的命名空间链中的东西(就像在C#中一样)。
所以我的问题是:上述方法有什么不好?
答案 0 :(得分:1)
所以我的问题是:上述方法有什么不好?
因为C#具有main
的概念。在JavaScript / TypeScript中不是这样。代码在解析时开始执行。因此,不使用模块意味着您的代码可能会以脆弱的方式破解。
https://basarat.gitbooks.io/typescript/content/docs/tips/outFile.html