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