Angular那些事首页投稿(暂停使用,暂停投稿)让前端飞

通俗易懂TypeScript系列六:模块

2017-06-26  本文已影响47人  小处成就大事
那山、那水

从ECMAScript 2015开始,JavaScript引入了模块的概念。
TypeScript也沿用这个概念。模块在其自身的作用域里执行,而不是在全局作用域里;这意味着定义在一个模块里的变量,函数,类等等在模块外部是不可见的,除非你使用export导出它们。 相反,如果想使用其它模块导出的变量,函数,类,接口等的时候,你可以通过import导入它们

1、export导出

任何声明(比如变量,函数,类,类型别名或接口)都能够通过添加export关键字来导出。

(1).导出声明

//导出一个类,里面声明了两个方法
export class animai{

   eat(nam:string):void;

   sleep(nam:string):void;

}

//导出一个变量声明
export comst name=”小明”;

(2).导出语句

//导出一个类
export class animal {

   sleep(nam:string){

   console.log(name,’在睡觉’);

   }

}

(3).重新导出

如果要对已有的模块做修改或者拓展,可以对模块进行再次包装再重新导出。看下面代码例
1:对模块进行重命名

//car.ts文件
export class car {

   drive() {

   console.log('正在开车');

}

}

//newCar.ts 文件 export { car as newCar }  from  ‘./car.ts’

导出car 并且进行重命名newCar

例2:导出多个模块

//dog.ts文件
export class dog {

   say() {

    console.log('小狗叫汪汪···');

}

}

//cat.ts文件
export class cat {

    say() {

    console.log('小猫喵喵叫····');

}

}

//animal.ts文件
export  * from './dog';
export  * from './cat';

这里把dog类和cat类放到animal类中,以一个新的模块导出。

在需要的地方导入: import {cat,dog} from './animal'

(4).默认导出

每个模块有一个默认导出,且只有一个默认导出,用default标识

export default class car {

   drive() {

   console.log('老司机开车····');

  }

}

import newCar from  './car';

在需要的地方导入import newCar from  './car';

导入的时候newCar名称是可以随意命名,只要符合语法规范

再看看导出一个变量

export default 'hello world'; //导出hello world

//导入
import a from  './hello';

console.log(a);//打印输出: hello world

再看看一段代码,导出jquery

let $: JQuery;
export default $; //导出$

//导入
import $ from "JQuery";

//现在可以使用$符合操作dom了 $('id').html('hello world');

2、import导入

如果想使用外部的模块,可以使用import导入
1.导入一个模块

import car from  './car';

let newCar = new car();

2.别名导入

import { car as newCar}  from  './car';  //这里给car重命名为newCar

附属:  webpack、Require.js、sea.js也有模块的实现,有需要的可以了解下sea.js 玉伯大神写的模块化加载框架,作为早期很流行的模块化加载工具,很多公司都有用。

个人学习心得,大神路过 ,不喜勿喷😊  ,如果代码错误,麻烦告诉我。如果你觉得不错,欢迎点赞,订阅,分享出去给需要的人,笔者将非常感谢,如果有疑问请留言或者私信

<完>

如果你是喜欢看书的朋友,不妨点击【有惊喜】这是我在亚马逊买的电子书,都非常珍贵。希望你能喜欢

作者:小处成就大事

简介:一个喜欢分享和学习的前端开发程序猿,平时喜欢看看书,游泳,爬山,户外骑行等,期待与志同道合的你成为朋友,一起交流、一起进步。

初衷:闲时喜欢写一些文章分享,记录丰富自己。可能没有别人写得好,但是我写的每一篇都非常用心和投入。真心希望来到这里对你有所收获,我将非常开心很欣慰。

博客小处成就大事_新浪博客

如果有志同道合的朋友不妨加微信一起交流和学习,期待你的到来

上一篇下一篇

猜你喜欢

热点阅读