Node.js 模块

章节


模块是什么?

可以把模块理解为JavaScript库。

模块包含了一组函数,可以包含在应用程序中。

内置模块

Node.js有一组内置模块,可以直接包含使用。

可通过如下代码,列出内置模块:

const builtin = require('module').builtinModules;
console.log(builtin);

导入模块

要导入一个模块,可使用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();
};

使用export关键字,导出属性和方法,这些属性和方法就可以被外部使用。

将上面的代码保存在一个名为“myfirstmodule.js”的文件中。

导入自己的模块

现在,可以在任何Node.js源文件中,导入和使用该模块。

示例

使用模块“myfirstmodule”:

var http = require('http');
var dt = require('./myfirstmodule');

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write("当前日期时间是: " + dt.myDateTime());
  res.end();
}).listen(8080);

注意,我们使用./来定位模块,这意味着模块与js源文件位于同一个文件夹中。

将上面的代码保存在名为“myfirst.js”的文件中,使用Node.js启动该文件:

启动 myfirst.js:

G:\project\qikegu-demo\nodejs>node myfirst.js

浏览器访问 http://localhost:8080

posted @ 2019-09-18 10:03  吴吃辣  阅读(155)  评论(0编辑  收藏  举报