Nodejs:Node.js模块机制小结

今天读了《深入浅出Nodejs》的第二章:模块机制。现在做一个简单的小结。

 

序:模块机制大致从这几个部分来讲:JS模块机制的由来、CommonJS AMD CMD、Node模块机制和包和npm。

 

1. JS模块机制的由来

由于JS先天地缺乏一项功能:模块。通过<script></script>标签引入代码的方式显得杂乱无章。社区也为JS指定了相应的规范,CommomJS的出现是其中最重要的里程碑。

 

2. CommomJS规范

require()方法,这个方法用来接收模块标识 ,以此来引入一个模块的API到上下文中;

exports是module的属性;

在node中,一个文件就是一个模块;

CommonJS构建的这套模块导出和引入机制使得用户不必考虑变量污染的问题。

 

3. Node模块实现

Node有这样的几类模块:文件模块(用户编写)、核心模块(Node提供的模块)、内建模块。加载的机制是先做路径分析,分析没有问题后,开始文件定位,文件定位没有问题后,就开始编译执行。

其中,加载文件机制有一个特点,就是优先从缓存中加载。在Node中,每一个模块都是一个对象。

 

4. 包和npm

包和npm是将模块连接起来的一种机制。Node是对CommomJS规范的一种具体实现,一定程度上解决了变量依赖、依赖关系等代码组织的问题 。包的出现,则是在模块的基础上,进一步组织JS代码。

 

5. CommomJS、AMD、CMD

CommonJS是为后端指定的规范,并不完全适合前端的应用场景。AMD最终在前端场景中胜出,是因为它是“异步模块定义”。但是AMD需要在声明引用模块的时候,指定所有的依赖;而玉伯提出的CMD则支持动态加载模块,即在需要依赖模块时,使用require()引入即可 。

 


更多专业前端知识,请上 【猿2048】www.mk2048.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值