<!doctype html>##07-sel-express 框架快速搭建案例
<style></style>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介绍
-
处理请求方式及路由
- app.use() 在请求路由时,只要路由是由 指定url 开头的就可以了。
- app.get() 要完全等于该 指定路由才可以 请求到资源。
相同请求的 url 会覆盖。可以添加 next 参数解决
- app.all() 1,不限定请求方法 2, 请求路径限定
- 正则表达式注册路由 可以由正则表达式写路由
-
res.send()
#express 里面的api。res.send();
- 参数可以是 Buffer ,String, object, Array
- 里面设置了很多响应报文头, 其中就包括 Content-Type:text/html;charset=utf-8;
#nodejs 里面的 res.end()
- 参数只能 Buffer 对象或者 字符串
- 要手动设置响应头
-
res.sendFile() 和 res.render()
- res.sendFile(): 读取对应文件,并响应文件
- es.render() 能够读取文件并相应, 并且参数2能够输出模板引擎数据,并替换文件里面的模板数据
-
处理静态资源
/*-----------------------------------------------------
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')));
原文地址:https://www.cnblogs.com/xixiaijunjun/p/10909047.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。