手记

写一个 Node 模块 / 自定义 Node 模块的写法

Node 中这样引用和使用一个模块。

var http = require('http');

http.createServer(function(req,res){
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Hello world!');
}).listen(3000);

console.log('服务器运行在 localhost:3000; 键入 Ctrl-C 终止服务....');

这是标准 Node 模块(指 Node 自带的和用 npm 下载的)的引用和使用方式。

下面我们自定义 Node 模块,引入并使用。

以“幸运饼干”为例,这是它的目录结构:

fortuneCookies/
│  index.js
└─ lib/
    └─  fortune.js

fortune.js 文件内容。

var fortuneCookies = [
    "别流泪心酸,更不应舍弃",
    "河流有源泉",
    "无畏未知",
    "今日有惊喜",
    "尽量保持简单",
];

exports.getFortune = function () {
    var idx = Math.floor(Math.random() * fortuneCookies.length);
    return fortuneCookies[idx];
}

注意,想让东西在模块外可见,必须要把它加到 exports 对象上。

在这个例子中,在模块外可以访问到函数 getFortune ,但数组 fortuneCookies 是完全隐藏起来的。这是极好的。

index.js 文件内容。

var fortune = require('./lib/fortune.js');
console.log(fortune.getFortune());

运行 index.js 即可看到结果。

$ node index.js
尽量保持简单

祝君顺利。

参考资料:《Node与Express开发》(2015,人民邮电出版社)第四章,by Ethan Brown

(完)

1人推荐
随时随地看视频
慕课网APP