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
(完)