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>

猜你喜欢

转载自blog.csdn.net/hbiao68/article/details/52874554