1. 模块的的概念(官方)
关于术语的一点说明: 请务必注意一点,TypeScript 1.5里术语名已经发生了变化。
“内部模块”现在称做“命名空间”。
“外部模块”现在则简称为“模块” 模块在其自身的作用域里执行,而不是在全局作用域里;
这意味着定义在一个模块里的变量,函数,类等等在模块外部是不可见的,
除非你明确地使用export形式之一导出它们。
相反,如果想使用其它模块导出的变量,函数,类,接口等的时候,
你必须要导入它们,可以使用 import形式之一。
2. 模块的概念(自己理解)
我们可以把一些公共的功能单独抽离成一个文件作为一个模块。
模块里面的变量 函数 类等默认是私有的,如果我们要在外部访问模块里面的数据(变量、函数、类),
我们需要通过export暴露模块里面的数据(变量、函数、类...)。
暴露后我们通过 import 引入模块就可以使用模块里面暴露的数据(变量、函数、类...)。
3. 模块的暴露和引入(与ES6一致)
1.逐个暴露
export const getData = (value1: string): void => {
console.log(value1);
}
export let first: string = "First";
export let second: string = 'Summer';
export let third: string = 'Autumn';
export let four: string = "Winter";
逐个引入
import { getData, first, second, third, four } from './index5';
2. 统一暴露
let first: string = "First";
let second: string = 'Summer';
let third: string = 'Autumn';
let four: string = "Winter";
export {
first,
second,
third,
four
}
一次性逐个引入
import { getData, first, second, third, four } from './index5';
3.默认暴露(这种方法常用)
export default 默认暴露 (每个模块都可以有一个default导出。、
默认导出使用 default关键字标记;并且一个模块只能够有一个default导出。
需要使用一种特殊的导入形式来导入 default导出。)
export default {
name: 'Loki',
age: 20,
sex: 'female',
get(params: string): void {
console.log(params);
},
};
默认引入
import data from './index5';
console.log(data.name, data.sex, data.get('spring'), data.age);
谢谢观看 !!! 如有不足,敬请指教