首页 > 代码库 > 学习node.js第一天:node模块化
学习node.js第一天:node模块化
上一篇说完了如何创建一个简单的http服务,现在说说模块化.
在开发过程中,经常会说模块化这个词.那都表示什么含义呢?一般都有以下几层意思:
1.业务解耦.
业务耦合太多,后期不便于扩展和维护.这种情况常常出现于创业公司,当公司业务发展起来的时候,就会发现业务系统有严重的瓶颈,服务能力不足会制约公司的发展.所以需要把不相关的业务做成独立的系统.
2.微服务
在大的企业中经常会出现多种系统,每种系统又用到相同的功能.比喻说上传图片,如果每个开发小组都去造轮子,那就太浪费了.如果将图片上传做成单独的服务,以开发api的方式提供给大家使用,就会系统不少效率.
3.功能模块化
在同一个系统中可能会出现交叉使用别的模块的数据,大家都去操作别的业务的对应的表数据.在这种情况下,很难避免数据不会出现问题.吃蛋糕的人太多,而蛋糕只有一块,大家都动手去切的后果会怎么样?解决方案也一样,负责该模块的开发人员封装好该业务的代码,提供接口即可.而此时需要该使用该模块的人只管去调用,而不必去管背后逻辑的实现.
讲了废话一堆,现在就说说node怎么进行代码模块化,打包服务,方便其他地方调用.
模块化http服务:httpServer.js
//业务功能:将http服务打包为一个模块,方便在其他地方调用 //引入http模块 var http = require(‘http‘); //封装启动http服务 var startHttp = function () { var onRequest = function (request, response) { response.writeHead(200, {‘Content-Type‘: ‘text/plain;charset=UTF-8‘}); response.write(‘大家好‘); response.end(); } http.createServer(onRequest).listen(‘8888‘); console.log(‘Http server has started.‘); } //exports生成模块beginStart,作用是调用启动http服务 exports.beginStart = startHttp;
调用模块服务
先创建一个统一入口的文件index.js
//引入http Server模块 var httpServer=require(‘./httpServer‘); //启动http server服务 httpServer.beginStart();
最后可以在终端启动服务:node index.js
打开浏览器http://localhost:888可以看到效果
学习node.js第一天:node模块化