我写了一个包让我们称它为 commons
和另一个导入它的项目。
我不想导入整个包,而只想导入该包的一个子路径。
import { client } from '@commons/clients'
而不是 import { client } from '@commons'
我见过 typescript 包,例如 jose使这种行为成为可能。
例如。 从“jose/jwks/remote”导入 createRemoteJWKSet
。
经过一些研究,我确实看到我可以在 package.json
中使用 exports
键定义此行为。不幸的是,据我测试,这似乎只适用于纯 js
而不是 typescript 。
另外,我发现 typescript 在某些线程中还不支持 exports
。
像 jose
这样的包如何管理它?
最佳答案
这在 TypeScript 中受支持,但默认模块分辨率不支持。要允许 TypeScript 解析模块,您需要使用 Node16
或 NodeNext
为你的moduleResolution
tsconfig.json
中的字段.
关于typescript - 编写一个带有导入子路径 typescript 选项的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71468307/