编写一个带有导入子路径打字稿选项的包

Hei*_* Re 4 package typescript jose

我编写了一个包(我们称之为它)commons和另一个导入它的项目。
我不想导入整个包,而只想导入该包的一个子路径。
import { client } from '@commons/clients'相反,import { client } from '@commons'

我看到了诸如jose之类的打字稿包可以实现这种行为。
例如import createRemoteJWKSet from 'jose/jwks/remote'

经过一番研究,我确实发现我可以package.json用 key 来定义这种行为exportsjs不幸的是,据我测试,这似乎只适用于纯文本,不适用于打字稿。另外,我发现打字稿exports在某些线程中尚不支持。像这样的包如何jose管理这个?

Dav*_*ers 5

TypeScript 支持此功能,但默认模块分辨率不支持此功能。要允许 TypeScript 解析模块,您需要对中的字段使用Node16或。NodeNextmoduleResolutiontsconfig.json