上一篇說完了如何建立一個簡單的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,能夠看到效果