Node.js后端开发 - 基础篇 #12 web 服务器 part 4 用模块化思想组织代码

上一篇文章我们介绍了nodejs的web 服务器 part 3 响应HTML页面,详见: Node.js后端开发 - 基础篇 #11 web 服务器 part 3 响应 HTML 页面,这篇文章我们将来介绍一下怎么把我们以前写的代码给重构一下,就是用更好的方式把他们给组织一下,之前我们讲过一个概念叫模块,也就是说用一些exports、require语句把我们的代码变得可读性更强一些、更模块化一些,这样我们写的代码更像一些web框架,我们也能更好理解一些web框架,它们的代码是怎么组织的。我希望我们以后学习到一些知识点,我们一边写代码也顺便把代码进行一些模块化的重构!下面我们来重构一下上篇文章app.js里面的代码,如下:

var http = require('http');
var fs = require('fs');

//把启动server、响应客户端的代码,放在一个函数里面
function startServer() {
    var onRequest = function (request, response) {
        console.log('Request received');
        response.writeHead(200, { 'Content-Type': 'text/html' });
        var myReadStream = fs.createReadStream(__dirname + '/index.html', 'utf8');
        myReadStream.pipe(response);
    }

    var server = http.createServer(onRequest);

    server.listen(3000, '127.0.0.1');
    console.log('Server started on localhost port 3000');
}

// 暴露startServer函数
//下面的代码,等同于 module.exports.startServer = startServer;
exports.startServer = startServer;

然后我们把app.js文件的名字修改为server.js,然后新建一个app.js文件,这时候的app.js文件里面写入以下代码,如下:

//require导入server.js模块
var server = require('./server');

//调用server.js模块的startServer函数
server.startServer();

这里我们把 server.js 里面的代码当做一个模块,入口文件依然是 app.js 文件!我们启动sever

MacBook-Pro:hello-nodejs luminal$ node app
Server started on localhost port 3000

然后在浏览器中输入:http://localhost:3000/,它的效果和上篇文章代码运行的效果一样,这里就不演示了!

我们以后学习到一些知识点,我们一边写代码也顺便把代码进行一些模块化的重构,这样我们也能更好理解一些框架,它们是怎么来组织一些文件的!一些模块的知识点可参考我前面的博文:Node.js后端开发 - 基础篇 #4 模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

被开发耽误的大厨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值