var http = require("http");
http.createServer(function(req,res){
console.log("收到请求");
res.end("hello world");
}).listen(8888);
console.log("服务器启动");
通过以上代码一个nodejs搭建的服务器就完成了,其中“http”是nodejs中自带的模块,我们可以通过request方法直接拿过来并赋值给本地变量来使用。那么,我们怎么创建自己的模块的并且使用它呢?
把某段代码变成模块意味着我们需要把我们希望其提供功能的部分导出到请求这个模块的脚本。
只需对上面的代码稍加改动即可:
var http = require("http");
function start(){
http.createServer(function(req,res){
console.log("收到请求");
res.end("hello world");
}).listen(8888);
console.log("服务器启动");
}
exports.start = start;
目前,我们的HTTP服务器需要导出的功能非常简单,因为服务器模块的脚本仅仅是需要启动服务器而已。
我们把我们的服务器脚本放到一个叫做start的函数里,然后我们导出这个函数即可。
现在,我们已经成功把我们之前写的搭建服务器代码变成一个模块并且导出出来了,止于使用和之前大径相同。
我们把我们创建的模块保存命名为1.js,然后创建一个文件命名为2.js,然后:
var server = require("./1");
server.start();
现在启动 node 2.js,仍然会打印“服务器启动”。
我们现在可以把我们呢的应用的不同部分放入不同的文件里,并且通过生成模块的方式把他们连续到一起了。
我们仍然只拥有整个应用的最初部分:我们可以接收HTTP请求。但是我们得做点什么——对于不同的URL请求,服务器应该有不同的反应。
对于一个非常简单的应用来说,你可以直接在回调函数中做这件事情(像上一篇一样在回调函数中通过if判断)。
根据《nodejs入门》整理,这里写链接内容