使用typescript的大型库的结构

使用typescript的大型库的结构,typescript,packages,Typescript,Packages,我正在开发一个工程计算库,它的结构变得非常复杂。目前我使用UMD来添加或扩展模块,最近我对将其转换为typescript感兴趣 假设库名为englib,它可能有以下几个模块 彭罗宾逊 englib.thermo.srk 英语转换 英语数学 理想情况下,这些模块中的每一个都将是一个单独的npm模块或bower包,因此可以选择功能 此外,englib.thermo将是其自己的模块,为englib.thermo.pengrobinson和englib.thermo.srk提供基本数据和类 在typ

我正在开发一个工程计算库,它的结构变得非常复杂。目前我使用UMD来添加或扩展模块,最近我对将其转换为typescript感兴趣

假设库名为englib,它可能有以下几个模块

  • 彭罗宾逊
  • englib.thermo.srk
  • 英语转换
  • 英语数学
理想情况下,这些模块中的每一个都将是一个单独的npm模块或bower包,因此可以选择功能

此外,englib.thermo将是其自己的模块,为englib.thermo.pengrobinson和englib.thermo.srk提供基本数据和类

在typescript中使用名称空间和模块来构建此结构的最佳方法是什么,这样我就可以维护组织层次结构,同时也可以选择模块使用量

理想情况下,这些模块中的每一个都将是一个单独的npm模块

这就是路。请注意,TypeScript理解
node\u模块
开箱即用:

或包


此外,鲍尔已经死了:

我要说,这是一个复杂的问题,需要从多个角度来处理,不能用一篇简洁的帖子来回答。不管是哪种方式,您都可能希望广泛地利用重新导出来尽可能地组织您的模块。我一直在按照这些思路思考,但是不确定是否应该有一个englib名称空间,所有内容都位于其中,以及它如何跨多个包工作。