Node.js後端開發 - 進階篇 #10 express框架之封裝handler.js模塊

目錄

一、前言

二、封裝 handler.js 業務模塊

步驟1:寫業務模塊 handler.js 

步驟2:路由模塊 router.js 調用

步驟3:其他代碼貼上

主模塊app.js

配置模塊 config.js

三、最終效果


一、前言

上一篇文章我們講了相對安全的express路由模塊的封裝以及掛載路由的一些思路分析總結,詳細可查看博文:Node.js後端開發 - 進階篇 #9 express框架之路由模塊的封裝2(相對安全)這篇文章我們將介紹如何封裝 handler.js 業務模塊

二、封裝 handler.js 業務模塊

步驟1:寫業務模塊 handler.js 

上篇文章我們講到路由模塊的封裝,但我們路由模塊 router.js 文件只負責路由判斷,不要寫具體的業務處理代碼。我們再新建一個 handler.js 來處理業務 


//業務模塊

//暴露函數,並且需要傳入req、res參數,
//才能處理相應的業務,向用戶響應
module.exports.index = function (req, res) {
    res.send('這個是 handler.index 方法中的代碼');
};

步驟2:路由模塊 router.js 調用

寫好上面的代碼以後,我們需要在路由模塊 router.js 裏面進行調用,我們這樣調用就行

router.get('/', function (req, res) {
    handler.index(req, res);
});

它有一種更簡便的寫法,可以這樣寫

router.get('/', handler.index);

router.js 的具體代碼如下:


//路由模塊:主要負責路由判斷

//1. 創建一個 router 對象(router 對象既是一個對象,也是一個函數)
var express = require('express');
var router = express.Router();

//加載業務模塊
var handler = require('./handler.js');

//2. 通過 router 對象設置(掛載)路由
// router.get('/', function (req, res) {
//     handler.index(req, res);
// });

// 理解的時候需要注意,不需要傳req、res參數
// 因爲 handler.index = function (req, res) { };
// 所以可以寫成 handler.index
router.get('/', handler.index);
router.get('/index', handler.index);

//3. 返回 router 對象
module.exports = router;


步驟3:其他代碼貼上

主模塊app.js


// app.js 模塊職責:負責啓動服務

//1. 加載 express 模塊
var express = require('express');
//加載 config.js 模塊
var config = require('./config.js');
//加載路由模塊
var router = require('./router.js');

//2. 創建 app 對象
var app = express();

//3. 啓動路由
// 設置 app 和 router 相關聯
// 這個 router,它既是一個對象也是一個函數
// 這個函數,它也是一箇中間件
//app.use('/', router);
app.use(router);//與上面的等價

//4. 啓動服務
app.listen(config.port, function () {
    console.log('http://localhost:' + config.port);
});

配置模塊 config.js


// 配置模塊: 主要職責是負責保存項目中的配置信息

module.exports = {
    port : 3000
};

三、最終效果

啓動運行程序,然後我們在谷歌瀏覽器中輸入地址:http://localhost:3000  或  http://localhost:3000/index

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章