上一节我们使用express代替http做了一个简单的web应用
模块分离
现在我们再次来改造这个最简单的应用。新建一个start.js
文件
var http = require('http');
var url = require('url');
function start() {
console.log("Starting~~");
function onRequest(req, res) {
var pathname = url.parse(req.url).pathname;
res.writeHead(200,{
"Content-Type":"text/plain"
});
res.write("The First Server");
res.end();
}
var port = process.env.port || 1337;
http.createServer(onRequest).listen(port);
console.log("Started!!");
}
exports.start = start;
我们http请求封装在start.js
这个模块中,然后在server.js
中调用它。现在我们来重写server.js
这个文件。
var server = require('./start');
server.start();
引入start
模块,然后调用start()
方法。重新启动node(node server
),在浏览器输入http://127.0.0.1:1337
,可以看到显示The First Server
。
小结
我们成功分离了模块,使得代码逻辑更清晰,方便我们下一步继续路由控制的功能