如何默认导出多个模块?
时间: 2023-07-12 18:26:16 浏览: 158
在 TypeScript 中,一个模块只能有一个默认导出项,但可以有多个命名导出项。如果需要导出多个项作为默认导出,可以将它们封装在一个对象中,然后导出该对象。以下是示例代码:
```
// module.ts
const obj1 = {
name: 'module1',
version: '1.0.0'
};
const obj2 = {
name: 'module2',
version: '2.0.0'
};
export default {
obj1,
obj2
};
```
在上面的示例中,定义了两个对象 `obj1` 和 `obj2`,然后将它们封装在一个对象中,并通过 `export default` 语法将该对象作为默认导出进行导出。在其他模块中可以使用以下语法进行导入:
```
// app.ts
import module from './module';
console.log(module.obj1.name); // 输出:module1
console.log(module.obj2.version); // 输出:2.0.0
```
需要注意的是,导入时需要使用与导出时相同的名称。如果导出的是一个函数或类,可以在导出时使用 `export default` 语法进行导出,然后在导入时直接使用该函数或类的名称进行导入。例如:
```
// module.ts
export default function hello(name: string): string {
return `Hello, ${name}!`;
}
// app.ts
import hello from './module';
console.log(hello('TypeScript')); // 输出:Hello, TypeScript!
```
在上面的示例中,使用 `export default` 语法将 `hello` 函数作为默认导出进行导出。在其他模块中可以使用 `import` 语法导入该函数,并直接使用函数名进行调用。
阅读全文