模块
TypeScript 1.5里面属于已经发生变化,“内部模块”成为“命名空间”,“外部模块”简称“模块”。
模块里面的变量、函数、类等对象,在模块外部不可访问,必须在模块内export
。要使用某个模块,必须import
到自己代码中。
- 项目中使用第三方模块就
import
- 当前项目暴露功能给其他项目使用
export
- 项目中为了提高代码阅读,对于相同功能进行分类整合,使用
命名空间
模块代码案例
创建模块DBHelper.ts
//数据库操作方法,封装成模块供外部调用
//每个对象前面添加export,可直接暴露这个对象,export可多次使用
export function add<T>(v:T):boolean {
let result:boolean=true;
try{
console.log(`保存数据库成功,${v}`);
}catch(e){
console.log(`保存数据异常,${e}`);
}
return result;
}
export function get(id:number):any {
return {
id:id,
name:'__'+id
};
}
//统一暴露所有
//export {add,get};
//default 一个模块中只能暴露一个对象,import 不需要使用{}
//export default add;
index.ts 中引入模块
//TypeScript 会把模块代码编译成exports、require() 等代码,这些代码在浏览器中仍然运行不了;
//可以借助NodeJS环境运行JS代码:node index.js;
//可以通过WebPack编译工具,编译成浏览器可以运行的代码;
//1、模块最后使用export {get,add} 暴露
// import {get,add} from './modules/DBHelper'
//2、对于暴露的对象重新命名
import {get as getFromDB,add} from './modules/DBHelper'
//3、使用export default暴露
// import add from './modules/DBHelper'
//调用
add({id:'123'});
// console.log(get(123));
console.log(getFromDB(666));
Node环境运行index.js
node disc/index.js