Nodejs 入门篇三 - 模块

| 原创 | nodejs

什么是 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/ 中看到输出结果了。