07-sel-express 框架快速搭建案例

<!doctype html>##07-sel-express 框架快速搭建案例html

07-sel-express 框架快速搭建案例

1.服務模塊

 
 
 
xxxxxxxxxx
 
 
 
 
// app.js:啓動服務模塊
let express = require('express');
let config = require('./config.js');
let router = require('./router.js');
//2,建立app對象
let app = express();
console.log(router.toString());
//3,註冊路由
//放在路由模塊中
//設置app 與 router 相關聯
app.use('/',router);
//4,啓動服務
app.listen(config.port, ()=>{
console.log('http://localhost:'+ config.port);
})
 

2.路由模塊

 
 
 
xxxxxxxxxx
 
 
 
 
//router.js 路由模塊
/*---------------------------------
1,建立一個
 router 對象(router 對象既是對象,也是函數)
2,經過 router 對象掛載路由
3,返回 router 對象
-------------------------------------*/
let express = require('express');
let path = require('path');
let handler = require('./handler.js');
let router = express.Router();
//2, 經過 router 對象掛載路由
   router.get('/',handler.index);
   router.get('/index',handler.index);
   router.get('/submit',(req,res)=>{
   });
   router.get('/item',(req,res)=>{
   });
   router.get('/add',(req,res)=>{
   });
   router.post('/add',(req,res)=>{
   });
   /*-----------------------------------------------------
   express.static(root,[options])
   1,該root參數指定從中提供靜態資產的根目錄。
   該函數經過req.url與提供的root目錄組合來肯定要提供的文件
   
   2,對 resouces 裏面的靜態資源請求
   router.use('/resouces' 這請求的是虛擬路徑。並非 req.url 的部分
   ------------------------------------------------------------------*/
   router.use('/resouces',express.static(path.join(__dirname,'resouces')));
  
// 3,返回 router 對象
module.exports = router;   
 

3.業務處理模塊

 
 
 
xxxxxxxxxx
 
 
 
 
//業務模塊
//處理新聞列表
let path = require('path');
module.exports.index =(req,res)=>{
res.sendFile(path.join(__dirname,
'views','index1.html'));
};
// {}.index = function(req,res) {
//     res.sendFile(path.join(__dirname,
// 'views','index1.html'));
// }
/********************************************
res.sendFile():
讀取對應文件,並響應文件
res.render()
可以讀取文件並相應,
而且參數2可以輸出模板引擎數據,並替換文件裏面的模板數據
************************************************/
 

4.配置信息模塊

 
 
 
xxxxxxxxxx
 
 
 
 
//congfig.js 配置模塊
module.exports = {
'port':9090
};
 

 

經常使用api介紹

  1. 處理請求方式及路由node

    1. app.use() 在請求路由時,只要路由是由 指定url 開頭的就能夠了。
    2. app.get() 要徹底等於該 指定路由才能夠 請求到資源。

    相同請求的 url 會覆蓋。能夠添加 next 參數解決web

    1. app.all() 1,不限定請求方法 2, 請求路徑限定
    2. 正則表達式註冊路由 能夠由正則表達式寫路由

     

  2. res.send()正則表達式

    #express 裏面的api。res.send();express

    • 參數能夠是 Buffer ,String, object, Array
    • 裏面設置了不少響應報文頭, 其中就包括 Content-Type:text/html;charset=utf-8;

    #nodejs 裏面的 res.end()windows

    • 參數只能 Buffer 對象或者 字符串
    • 要手動設置響應頭

     

  3. res.sendFile() 和 res.render()api

    1. res.sendFile(): 讀取對應文件,並響應文件
    2. es.render() 可以讀取文件並相應, 而且參數2可以輸出模板引擎數據,並替換文件裏面的模板數據

     

  4. 處理靜態資源app

    /*-----------------------------------------------------框架

    express.static(root,[options]) 1,該root參數指定從中提供靜態資產的根目錄。 該函數經過req.url與提供的root目錄組合來肯定要提供的文件less

    2,對 resouces 裏面的靜態資源請求 router.use('/resouces' 這請求的是虛擬路徑。並非 req.url 的部分

    ------------------------------------------------------------------*/

    router.use('/resouces',express.static(path.join(__dirname,'resouces')));

相關文章
相關標籤/搜索