学习node.js第一天:node模块化

        上一篇说完了如何建立一个简单的http服务,如今说说模块化.node

        

        在开发过程当中,常常会说模块化这个词.那都表示什么含义呢?通常都有如下几层意思:浏览器

        1.业务解耦.ide

        业务耦合太多,后期不便于扩展和维护.这种状况经常出现于创业公司,当公司业务发展起来的时候,就会发现业务系统有严重的瓶颈,服务能力不足会制约公司的发展.因此须要把不相关的业务作成独立的系统.模块化

        2.微服务微服务

        在大的企业中常常会出现多种系统,每种系统又用到相同的功能.比喻说上传图片,若是每一个开发小组都去造轮子,那就太浪费了.若是将图片上传作成单独的服务,以开发API的方式提供给你们使用,就会系统很多效率.       
ui

        3.功能模块化spa

        在同一个系统中可能会出现交叉使用别的模块的数据,你们都去操道别的业务的对应的表数据.在这种状况下,很难避免数据不会出现问题.吃蛋糕的人太多,而蛋糕只有一块,你们都动手去切的后果会怎么样?解决方案也同样,负责该模块的开发人员封装好该业务的代码,提供接口便可.而此时须要该使用该模块的人只管去调用,而没必要去管背后逻辑的实现.server


        讲了废话一堆,如今就说说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:8888,能够看到效果

相关文章
相关标签/搜索