Node模块详解

来源:互联网 发布:vnc viewer linux 编辑:程序博客网 时间:2024/06/06 01:45

C语言中可以通过inculde导入写好的头文件,Java/Python都是通过import导入模块。在Node中也有类似的机制,使用require关键字:

var http = require('http') //导入http模块,并将该对象赋值给http

想导入自己写的js文件同样使用require。比如在同一个文件下面有hello.js和me.js两个文件:

/  hello.js  me.js

那么在me.js中想要使用hello.js中的东西,可以在me.js文件中加入下面一句:

var hello = require('hello');

那么有了上面的语句,me.js就可以通过hello对象使用hello.js里面的属性和方法。

那么,hello.js中的那些东西能在me.js中被使用呢?
exports对象或者module.exports对象里面的属性和方法。如果hello.js的代码如下:

exports.sayHello = function(name){comsole.log('Hello,' + name);}exports.defaultName = "world";var myName = 'swingWang';function sayMyName(){  console.log('Hello'+ myName);  }

那么在其他文件require了hello.js后,可以访问defaultName和sayHello函数。没有赋值给exports对象的不能被访问到。

Node自带了http fs等模块。

Node在处理require时,首先在缓存区中查找,没有的话在原生模块缓存区和原生模块中查找,最差的优先级是在自定义的模块中查找。

0 0