网站搜索

javascript - 在 Typescript 中导出模块中所有定义的简写


我在想是否有一种简写方式可以导出模块中的所有定义。文档中没有建议这样做的方法。我在寻找类似于 export* 的东西,用于导出模块中的所有定义。

/* this is one way according to docs*/
//module1 
const foo = () => {console.log('function foo')}
const bar = () => {console.log('function bar')}
export {foo, bar} 

// module2
import * as m1 from './module1'
m1.foo() 
m1.bar()

/* this is another way according to docs*/
// module1
export const foo = () => {console.log('function foo')}
export const bar = () => {console.log('function bar')}

// module2
import * as m1 from './module1'
m1.foo() 
m1.bar()

/* looking for something like this */
// module1
const foo = () => {console.log('function foo')}
const bar = () => {console.log('function bar')}
export * // looking for something like this

// module2
import * as m1 from './module1'
m1.foo() //doesn't work 
m1.bar() // doesn't work

答案#1

查看此答案 https://stackoverflow.com/a/30714301/977206

// export the default export of a legacy (`export =`) module
export import MessageBase = require('./message-base');

// export the default export of a modern (`export default`) module
export { default as MessageBase } from './message-base';

这也应该可行,也许只适用于某些类型的模块?不确定

export * from 'foo';