轻松创建nodejs服务器(3):代码模块化
nodejs的功能块大都以模块的形式存在的。
通常会有一个统一入口index.js,然后调用不同的模块来完成我们需要的功能。
我们先来看看怎么把server.js变成一个模块让index.js主文件使用。
varhttp=require("http"); ... http.createServer(...);
“http”是nodejs自带的模块,我们在我们的代码中请求它并把返回值赋给一个本地变量。我们可以用这个变量来调用http模块所提供的公共方法的对象,变量名不是固定的,你完全可以按照你的喜好来命名这个变量,不过我建议直接用模块名来做变量名,可以使代码可读性更高些。
我们按这个方式改一下server.js里的代码,我们把代码放到start()函数里,并通过expors将代码提供给其他页面引用。
varhttp=require("http"); functionstart(){ functiononRequest(request,response){ console.log("Requestreceived."); response.writeHead(200,{"Content-Type":"text/plain"}); response.write("HelloWorld"); response.end(); } http.createServer(onRequest).listen(8888); console.log("Serverhasstarted."); } exports.start=start;
这样,我们现在就可以创建我们的主文件index.js并在其中启动我们的HTTP了,虽然服务器的代码还在server.js中。
创建index.js文件并写入以下内容:
varserver=require("./server"); server.start();
执行nodeindex.js
这样做就可以把应用的不同部分放入不同的文件里,并且通过生成模块的方式把它们连接到一起了。
下一节我们要了解一下路由