如何从使用`export =`的模块中重新导出`*`

Max*_*kyi 4 typescript

我有一个模块m

export = {
    a: 3
}
Run Code Online (Sandbox Code Playgroud)

然后在我index.ts想重新导出m正在导出的所有内容,因此我使用:

export * from './m';
Run Code Online (Sandbox Code Playgroud)

但这给了我一个错误:

错误: TS2498:模块D:/Projects/typescript/m使用export =,不能与一起使用export *

如何从使用export=语法的模块中重新导出?我无法控制带有export=语法的模块。

mle*_*eko 7

您可以使用

import m = require("./m");
export {m};
Run Code Online (Sandbox Code Playgroud)

要么

import m = require("./m");
export default m;
Run Code Online (Sandbox Code Playgroud)

老式的进口export =require()不与模块兼容的出口。

请参阅文档

JSON文件导入的UPDATEfrom一旦打开所需的tsconfig选项,便可以使用以下语法。自2.9起可用。

import myObjectName from './path/to/file.json';
export { myObjectName };
Run Code Online (Sandbox Code Playgroud)

  • 如何导出*,这样我们就可以使用 import {something} from 'module' 而不是 import {all} from 'module' 然后 cons Something = all.something ?? (3认同)