除了明显的(哈)。
我仍然不确定你为什么选择其中任何一种。
我曾经认为编译单个文件更容易,因为您使用<reference>
来链接文件,并且可以使用嵌套模块来管理全局命名空间。
但是现在我认为import/require
和许多输出文件可能有助于提高模块性(与常规JavaScript / ES6的相似性)。
但是你可以使用导入来充分命名类型吗?导入时使用额外级别的模块似乎很不方便。
我们还不需要<references>
来解析类型注释吗?
我该如何决定?
答案 0 :(得分:1)
我曾经认为编译单个文件更容易,因为您使用
<reference>
来链接文件,并且可以使用嵌套模块来管理全局命名空间。
基本上使用--out:
亲:开始时很简单。类型可通过简单的<reference
注释导入。
Con:单个文件。调试JS时不容易调试。
但是你可以使用导入来充分命名类型吗?
使用外部模块时,不应使用内部模块。对于外部模块(amd / commonjs),每个文件都是自己的模块。这将避免&#34;额外/不必要&#34;间接的程度。
并且我们仍然需要解决类型注释?
没有。只要您export
根级别///<reference
某个文件不再执行任何操作。从这样的文件导入类型(甚至接口)的唯一方法是使用import/require
为了获得--out
的优点,即通过///<reference
+进行简单类型导入仍然允许更简单的JS调试,grunt-ts支持为您生成amd-loader:https://github.com/grunt-ts/grunt-ts#advantage-of-using-amdloader-option