typescript-如何在不知道默认存在的情况下导出所有内容,包括默认设置

问题描述 投票:0回答:1

我有一个从用户那里获得的文件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个回答
0
投票

事实证明我可以执行export = something,因此以下解决了我的问题:

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

以下内容也适用

import foo = require('./foo');
export = foo;
© www.soinside.com 2019 - 2024. All rights reserved.