【问题标题】:typescript - how to export all includes default when you don't know about default existence打字稿 - 当您不知道默认存在时如何导出所有包含默认值
【发布时间】: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


    【解决方案1】:

    原来我可以做到export = something,所以以下解决了我的问题:

    import * as foo from './foo';
    export = foo;
    

    以下也有效

    import foo = require('./foo');
    export = foo;
    

    【讨论】:

      猜你喜欢
      • 2017-02-06
      • 2016-01-23
      • 2016-02-10
      • 2019-12-11
      • 2021-02-07
      • 2018-04-17
      • 2021-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多