Node.js的13.2版本允许ESM模块和一个新的package.json
字段(称为exports
)选择和重写导出的文件。
在13.2之前,我使用以下命令从库的dist
文件夹导入文件:
import myfile from 'mylibrary/dist/myfile'
在13.2中,我在package.json
中添加了以下内容:
exports: {
"./": "./dist/"
}
并尝试导入具有以下内容的文件:
import myfile from 'mylibrary/myfile'
但是Typescript会引发2307错误,指出找不到该模块。
3条答案
按热度按时间a2mppw5e1#
这是Typescript 4.5即将推出的一项功能,很快就会推出:
现在,我已经设法利用了
typesVersions
:hsvhsicv2#
需要在TypeScript端进行一些工作来支持此功能。该功能被跟踪here in github。在该链接中还列出了一些解决方法。
xe55xuns3#
在其他答案的基础上,我的
package.json
中的这个模块对我很有效:我的
tsconfig.json
如下所示:这是我的文件结构:
另外,我使用的是TypeScript 4.7.4。据说这个版本支持
exports
字段,但它对我不起作用。但这个(可能过于复杂)解决方案对我起作用了。