学会node.js(三)

2016-01-07  本文已影响19人  郑伟的菜园子

common.js规范

nodejs由许多模块组成,每个模块就是一个文件,node模块采用了commonjs规范。
根据commonjs规范,一个单独的文件就是一个模块,每一个模块都是单独的作用域也就是说,在一个文件定义的变量,都是private的,对其他文件是不可见的。

var x = 5;
var add = function(value){return value + x;}

上面代码中,变量x和函数add,是当前文件private的,其他文件不可见。
如果想在多个文件中分享变量,必须定义为global的属性。

global.a = a;

上面的a变量,可以被所有的文件读取,当然,这样的写法是不推荐的。
commonjs规定,每个文件的对外接口是module.exports对象,这个对象的所有属性和方法,都可以被其他文件导入。

module对象

每一个模块内部,都有一个module对象,代表当前模块,它有以下属性:

666.png

模块的加载规则

aa.jpg

查找文件的规则

aa.jpg

如何判断模块是直接被执行还是被调用?

if(require.main === module){
    console.log("直接执行")
}else{
    console.log("调用执行");
}
上一篇 下一篇

猜你喜欢

热点阅读