什么是 Node.js 模块?
你可以将 Node.js 模块类比为 Javascript 的标准库。
那里面有你想在你的应用中引入的一系列函数。
内建模块
Node.js 提供了一系列内建(无需额外安装)的模块以供调用。
你可以查看这个 内建模块参考 以获取完整的模块列表。
引入模块
引入模块的方法是使用 require()
函数并传入一个模块名称。
var http = require('http');
这样你的程序就拥有了 HTTP 模块的访问权限,你可以利用它来创建一个服务器:
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('Hello World!');
}).listen(8080);
创建你自己的模块
你也可以创建你自己的模块,并且可以很容易的将它们引入到你的程序中。
下面的例子展示了一个返回时间对象的模块:
exports.myDateTime = function () {
return Date();
};
使用 exports
关键字以使变量和方法能够被模块外部所调用。
你可以把上面的模块保存在 myfirstmodule.js
文件中。
引入你自己的模块
现在你可以在任意的 Node.js 文件中引入并使用你的模块了。
var http = require('http');
var dt = require('./myfirstmodule');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write("The date and time are currently: " + dt.myDateTime());
res.end();
}).listen(8080)
注意我们这里用了 ./
来定位模块,这表示被引入的 myfirstmodule 模块与当前文件处于同一路径下。
把上面的代码保存在 demo_module.js
文件中并执行:
c:\path-to-demo_module>node demo_module.js
如果你按照上面的过程一步步操作没有问题的话,你就可以在 http://localhost:8080/ 中看到输出结果了。