首页 > Web开发 > 详细

CommonJs的模块规范

时间:2015-01-22 19:48:02      阅读:300      评论:0      收藏:0      [点我收藏+]

CommonJs对模块的定义主要分为模块引用、模块定义、模块标识3个部分。

1.模块引用

模块引用的示例代码如下:

var math = require("match");

 

2.模块定义

在模块化中,上下文提供require()方法来引入外部模块。对应引入的功能,上下文提供了exports对象用于导出当前模块的方法或者变量,并且它是唯一导出的出口。在模块中,还存在一个module对象,它代表模块自身,而exports是module的属性。在Node中,一个文件就是一个模块,将方法挂载在exports对象上作为属性即可定义导出的方式:

 1 //math.js
 2 exports.add = function(){
 3     var sum = 0;
 4     var i = 0;
 5     var args = arguments;
 6     var l = args.length;
 7     while(i < l){
 8         sum += args[i++];
 9     }
10     return sum;
11 };

在另一个文件中,我们通过require()方法引入模块后,就能调用定义的属性或方法:

1 //program.js
2 var math = require("math");
3 exports.increment = function(val){
4     return math.add(val, 1);
5 };

 

3.模块标识

模块标识其实就是传递给require()方法的参数,它必须是符合小驼峰命名的字符串,或者以“.”、“..”开头的相对路径,或者绝对路径。它可以没有文件名后缀".js"。

模块的意义在于将类聚的方法和变量等限定在私有的作用域中,同时支持引入和导出功能以顺畅的连接上下游依赖。如下图所示,每个模块具有独立的空间。它们互不干扰,在引用的时候也显得干净利落。

技术分享

CommonJs的模块规范

原文:http://www.cnblogs.com/mxk258/p/4242213.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!