首页 > 其他 > 详细

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

时间:2019-05-22 23:13:44      阅读:84      评论:0      收藏:0      [点我收藏+]

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

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. 处理请求方式及路由

    1. app.use() 在请求路由时,只要路由是由 指定url 开头的就可以了。
    2. app.get() 要完全等于该 指定路由才可以 请求到资源。

    相同请求的 url 会覆盖。可以添加 next 参数解决

    1. app.all() 1,不限定请求方法 2, 请求路径限定
    2. 正则表达式注册路由 可以由正则表达式写路由

     

  2. res.send()

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

    • 参数可以是 Buffer ,String, object, Array
    • 里面设置了很多响应报文头, 其中就包括 Content-Type:text/html;charset=utf-8;

    #nodejs 里面的 res.end()

    • 参数只能 Buffer 对象或者 字符串
    • 要手动设置响应头

     

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

    1. res.sendFile(): 读取对应文件,并响应文件
    2. es.render() 能够读取文件并相应, 并且参数2能够输出模板引擎数据,并替换文件里面的模板数据

     

  4. 处理静态资源

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

    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‘)));

     

 

 

 

 

 

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

原文:https://www.cnblogs.com/xixiaijunjun/p/10909047.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!