TS-模块和命名空间
在TypeScript中,模块(Module)和命名空间(Namespace)是两种组织代码结构的方式。
模块:
模块是在TypeScript中组织代码的一种方式,它可以让你把代码分割成多个文件,每个文件都是一个模块。模块内的变量、函数和类默认是局部的,如果你想要从其他模块中导入或导出,你需要使用import
和export
关键字。
// greeter.ts
export function greeter(person: string) {
return 'Hello, ' + person;
}
// app.ts
import { greeter } from './greeter';
function main() {
console.log(greeter('World'));
}
main();
命名空间:
命名空间是一种将相关变量、函数和类组织在一起的方式,它们可以跨多个文件。你可以使用namespace
关键字来创建一个命名空间,然后在其中定义变量、函数和类。要从命名空间中导入或导出,你可以使用namespace
名称或export namespace
。
// math.ts
namespace MathUtils {
export function multiply(x: number, y: number) {
return x * y;
}
export function divide(x: number, y: number) {
return x / y;
}
}
// app.ts
import { MathUtils } from './math';
function main() {
console.log(MathUtils.multiply(4, 2));
console.log(MathUtils.divide(10, 2));
}
main();
模块和命名空间可以混合使用,但通常建议使用模块,因为它是现代JavaScript构建工具(如Webpack和Rollup)的首选组织代码方式。
评论已关闭