如何将typescript包拆分为多个子模块



我最新的typescript项目被拆分为不同的模块和子模块

我的文件结构:

package.json
(...)
/src
| /module1
| | index.ts
| | (...)
| | /subModule1
| | | index.ts
| | | (...)
| | /subModule2
|   | index.ts
|   | (...)
| /module2
| index.ts
| (...)

每个(子(模块都有一个index.ts文件,其中包含模块的导出。

现在我终于想发布我的包了。应该能够从模块采用以下方式:

import { A } from "package/module1";
import { B, C } from "package/module1/subModule2";

我已经在npm上从其他包导入内容时使用了这种语法。但我找不到任何关于如何实施这种行为的解释。我发现一些文章对多个文件进行了解释,但对文件夹和子文件夹中结构的多个模块没有解释。

请参阅"子路径导出";在节点文档中:

  • https://nodejs.org/api/packages.html#subpath-出口

示例:

{
"main": "./main.js",
"exports": {
".": "./main.js",
"./submodule": "./src/submodule.js"
}
}

这篇文章可能会帮助你:

  • Node.JS(新(Package.json导出Thomas Juster的字段

加上GitHub:上本期的一些TypeScript特定信息

  • 支持NodeJS 12.7+包导出#33079

既然你说你已经在从npm上的其他包导入东西时使用了这种语法,那么你也可以看看这些包的源代码,看看它们是如何做到的。

最新更新