typescript中的export、import和原生JS(ES6)里的export、import语法是一模一样的,模块使用模块加载器去导入其它的模块,其功能是实现模块之间的相互使用。
在运行时,模块加载器的作用是在执行此模块代码前去查找并执行这个模块的所有依赖。 大家最熟知的JavaScript模块加载器是服务于Node.js的CommonJS(CMD方式)和服务于Web应用的Require.js(AMD方式)
export
export 语句用于从文件(或模块)中导出函数、 对象(类)或者基础类型
示例文件:School_M.ts
class MSchool {
name: string;
age: number;
constructor(theName: string) {
this.name = theName;
}
setName(theName: string) {
this.name = theName;
}
getName() {
console.log(this.name);
return this.name;
}
}
export { MSchool as default };
语法:
命名导出:export { import1 as name1, import2 as name2, …, nameN } from …; //多个导出放在‘{ }’内
默认导出:export default function(){} //一个模块只能有一个默认导出
export default nameN;
import
import 与 export 对应, 用于导入其它文件(或模块)导出的函数, 对象(类)或者其他基础类型
示例文件:main.ts
import MSchool from './School_M';
let s2: MSchool = new MSchool("xx middle school");
s.getName();
语法:
导入所有导出:import * as myModule from 'my-module';
导入多个导出:import {foo, bar} from 'my-module';
导入默认导出:import foo from 'my-module'; //my-module中必须有默认导出
可以组合以上方式,用 ',' 分割
网友评论