Typescript 中每个 class 的单独文件?

Separate files for each class in Typescript?

更新:非常感谢大牛在下方的回复。然而,我发现 rollup.js to be answer for me. It can handle necessary circular dependencies between classes in projects well (webpack 对此感到困惑),直接在 ES6 模块格式上工作,并且非常容易地为节点和浏览器输出代码。


你好(:当有大量可能在浏览器或节点中使用的 classes 时,Typescript 编码的良好做法是什么?你是否将多个 classes 放在单个文件中并将它们视为命名空间,还是有其他方式?

我是一名主要使用 C# 的程序员,正在研究在新项目中使用 Typescript。我看到我可以使用引用和 --outFile 将内部模块编译成一个大的 .js 文件,或者使用带有 commonjs 或 amd 的外部模块。

传统上我将每个 class 放在一个单独的文件中,这在 Typescript 中也很自然。但是,假设我的项目中有 200 个 classes,当在浏览器中 运行 时,这会产生 200 多个文件可供下载,这似乎...过多。

是的,你会尝试用打字稿写小 classes/modules,每个都在自己的文件中。

但是当您为您的应用提供服务时,您不希望浏览器加载每个文件。所以你需要一些东西来捆绑你的文件并将它们放在一个 javascript 文件中。构建工具可以帮助您解决这些问题(它们还可以删除空白 lines/unnecessary 间距和注释)。

流行的构建工具是

https://gruntjs.com/

https://github.com/webpack/webpack

如果您有 C# 背景,对您来说 grunt 可能比 webpack 更熟悉。

我用的是webpack