標籤: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模組化