如何从 './foo' 中将 * 导出为 foo?
How do I `export * as foo from './foo'`?
TypeScript 支持 re-exports,借此一个模块可以导出从另一个模块导入的值:
export {ZipCodeValidator as RegExpBasedZipCodeValidator} from "./ZipCodeValidator";
它还支持通配符导出:
export * from "./StringValidator";
但是不支持这种语法(Microsoft/TypeScript#1215讨论了这种语法,它来自ES6,不包括这种形式):
export * as StringValidator from "./StringValidator"
我想这样做的原因是我可以将我的模块拆分成单独的文件,并使 TypeScript 等效于这样的声明:
module.exports = {
foo: require('./foo'),
bar: require('./bar'),
}
import * as foo from './foo'
import * as bar from './bar'
export {foo, bar}
TypeScript 支持 re-exports,借此一个模块可以导出从另一个模块导入的值:
export {ZipCodeValidator as RegExpBasedZipCodeValidator} from "./ZipCodeValidator";
它还支持通配符导出:
export * from "./StringValidator";
但是不支持这种语法(Microsoft/TypeScript#1215讨论了这种语法,它来自ES6,不包括这种形式):
export * as StringValidator from "./StringValidator"
我想这样做的原因是我可以将我的模块拆分成单独的文件,并使 TypeScript 等效于这样的声明:
module.exports = {
foo: require('./foo'),
bar: require('./bar'),
}
import * as foo from './foo'
import * as bar from './bar'
export {foo, bar}