node.js的代码都是构建在模块化开发的基础之上,模块化开始也是node.js的核心之一。
传统非模块化开发的缺点:1.命名冲突 2.文件依赖
标准的模块化规范:
1。AMD -requirejs
2。CMD- seajs
模块化的规范定义的一些写代码的规则,只要遵循了同样的标准,基本上风格都是一致的
服务端的模块化规范:
1.Common.js -Node.js
模块化相关的规则:
1.一个js文件 都是一个独立的模块,模块内部的成员都是相互独立的
2.模块化的导入和导出
案例1(exports):
在01.js文件中
var sum=function(a,b){ sum = parseInt(a)+parseInt(b); } exports.sum=sum;
在02.js文件中
//用require 进入模块 var module =require(./01.js) //当前文件夹下的01.js文件 var ret =module.sum(12,13); console.log(ret);
案例2(moudle)
在01.js文件中
var sum=function(a,b){ sum = parseInt(a)+parseInt(b); } module.exports=sum;
在02.js文件中
var module=require('./01.js') var ret=moudle(12,15); console.log(ret);
成员的导出,还可以用global这个全局对象来实现
模块化的一些特性:
1.已经加载的模块会缓存(根据文件的路径,知晓已经加载的模块,不会重复加载),提高了性能
2.模块文件的后缀的3中情况: js json node (不加文件后缀,同名文件的优先级是按照从左到右的文件加载)
除了自定义模块还有 系统的核心模块:
1.fs文件操作
2.http网络操作
3.path路径操作
4.querystring查询参数解析
5.url url解析