1. 程式人生 > >nodejs —— express路由router 學習

nodejs —— express路由router 學習

文章參考
http://www.cnblogs.com/sword-successful/p/4956461.html

問題:
開發一個web工程,有不同的功能模組,如果路由全部寫在一個js檔案中,那麼這個檔案將會特別巨大,查詢起來也相當困難

解決辦法:
因此根據不同的功能模組,把路由檔案分隔為幾個小的路由檔案,方便快速的定位程式碼,降低程式碼的複雜度
我採用的策略是用檔案目錄來作為模組劃分。

app.js啟動檔案

 

var express = require("express");
var http = require("http");
// 載入hbs模組
var hbs = require('hbs');


var app = express();
var router = express.Router();
//引入不同的路由檔案
var router1 =  require('./routes/router1');
var router2 =  require('./routes/router2');
var router3 =  require('./routes/router3');
var testRouter =  require('./routes/test/test');

//指定不同路由對應的模組
app.use('/router1', router1);
app.use('/router2', router2);
app.use('/router3', router3);
app.use('/test', testRouter);
//啟動webapp,監聽3000埠
http.createServer(app).listen(3000);

 

.routes/test/test.js 路由檔案

 

var express = require('express');
var router = express.Router();


/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { name: 'Express 路由1' });
});

/* GET home page. */
router.get('/cors', function(req, res, next) {
  res.render('test/index', { name: 'Express 路由1' });
});

module.exports = router;


views/test/index.html模板內容

 

 

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <script src="../public/js/jquery.min.js"></script>
    <script src="../public/js/hb_common.js"></script>
    <link rel="stylesheet" href="../public/css/bootstrap.min.css">
    <link rel="stylesheet" href="../public/css/hb_wap.css">
    <title>test</title>
</head>

<body >

<button class="btn btn-primary" id="btn" onclick="corsGetData()">cors跨域獲取資料</button>
<br>

</body>
<script>
    function corsGetData(){
        alert("dsafdsafdsafsda");
    }
</script>
</html>