【发布时间】:2020-07-08 13:30:31
【问题描述】:
我有一个来自用户的文件foo.ts,它可能会或可能不会导出默认值 (export default function(){})。我知道我可以解析文件来找出答案,但出于性能和简单性的原因,我不想这样做。
我需要创建一个文件,“链接文件”,从这个文件“foo”导出所有内容,包括默认和非默认。
在 JS 世界中,这很简单:module.exports = require('./foo'); 现在我可以像使用 foo.js 文件一样使用这个链接文件。它们都导出相同的东西。
然而,在 TS 世界中,如果我使用 export * from './foo',我只会得到非默认值。要获得默认值,我必须添加 export { default } from './foo';。
问题是,正如我之前所说,我不知道foo.ts是否有默认导出,所以如果我的链接文件总是有export { default } from './foo';,当foo没有时它会抛出错误默认导出。
所以,我的问题基本上是,TS 中 module.exports = require('./foo'); 的等价物是什么。
【问题讨论】:
标签: typescript export default