在TypeScript handbook中,描述了几种导入模块的技术:
import { ZipCodeValidator } from "./ZipCodeValidator";
import { ZipCodeValidator as ZCV } from "./ZipCodeValidator";
import * as validator from "./ZipCodeValidator";
我希望还有一个选择,但我无处可寻。是否可以从给定目录导入所有模块?
我想语法应该或多或少是这样的:import * from "./Converters"
。
答案 0 :(得分:31)
不,这是不可能的。大多数人所做的是创建一个index.js
文件,该文件重新导出同一目录中的所有文件。
示例:
my-module/
a.ts
b.ts
index.ts
a.ts
export default function hello() {
console.log("hello");
}
b.ts
export default function world() {
console.log("world");
}
index.ts
export { default as A } from "./a";
export { default as B } from "./b";
可以删除索引名称(与javascript中相同):
import * as whatever from "./my-module";
console.log(whatever);
// Logs: { A: [Function: hello], B: [Function: world] }