模块概念:分为内部模块和外边模块 (内部模块:“命名空间” 避免命名冲突 外部模块:“模块” 侧重代码复用,可有多个命名空间)
把一些公共的功能抽离成一个文件作为一个模块。
模块里面的变量,函数,类等默认私有,外部访问需要export 出来,在需要的文件中 import 引入模块,就可以使用模块里的数据
模块导出的几种方法
方法一 导出声明
//文件一 export function getMin(){ } //文件二 import {getMin} from 'xxx'
方法二 导出语句
//文件一 function getMin(){ } export{ getMin } //文件二 import {getMin} from 'xxx'
方法三 (export default 每个文件只可使用一次)
//文件一 function getMin():number{ console.log(222) return 1; } export default getMin; //文件二 import getMin from "./ts02"; getMin();
命名空间 内部模块,主要用于组织代码,避免命名冲突
namespace 把数据改为私有 ,需要用export 导出才能使用
namespace A{ let userName:string = '张三'; export function getMin(){ console.log(123) } } A.getMin(); //123
在模块中使用命名空间时需要导出export namespace
export namespace A{ let userName:string = '张三'; export function getMin(){ console.log(userName) } } export namespace B{ let userName:string = '李四'; export function getMin(){ console.log(userName) } }