node - express中路由分拆、请求体中间件body-parser、静态文件中间件

server.js

let express = require('express');
let app = express();
app.listen(9099,()=>{
    console.log('启动服务器');
});
//中间件实现对请求体的处理(post方式等)
//4.7.2版本的express没有了bodyParser方法,需要另外安装body-parser模板:于是另外安装了body-parser模板1.5.2版本
let bodyParser = require('body-parser');
//解析表单格式 把表单内的数据 解析后放在req.body上
app.use(bodyParser.urlencoded({extended:false}));
//解析json格式 把json字符串转化成对象 解析后放在req.body上
app.use(bodyParser.json());
//静态文件中间件 express.static
//app.use(express.static('static'));  //静态文件引入方式 /css/result.css
app.use('/static',express.static('static'));  // 静态文件引入方式 ../static/css/result.css
//告诉页面上所有render方法中的html 都用ejs模板来渲染
app.engine('html',require('ejs').__express);
//用于更改模板路径,默认views
//app.set('views','static');
//配置默认后缀名
app.set('view engine','html')
//服务端路由的实现
//引入用户路由
let user = require('./router/user')
//通过中间件注册路由
app.use('/user',user);//浏览器访问路径 localhost:3940/user/user
//引入文章路由
let article = require('./router/article')
app.use('/article',article)

user.js

let express = require('express');
//实列服务器路由
let router = express.Router();
let path = require('path');
router.get('/login',(req, res)=>{
    res.send('登录');
    res.redirect('http://www.baidu.com')//用于重定向
});
router.get('/register',(req, res)=>{
    //path.reslove是根据运行文件来判断路径的即server.js
    //res.sendFile(path.resolve('../views/reg.html'))
    console.log(path.resolve('../views/reg.html'));
    //根据当前文件来判断路径
    res.sendFile(path.join(__dirname,'../views/reg.html'));
    console.log(path.join(__dirname, '../views/reg.html'));
});

router.post('/reg',(req,res)=>{
    //获取经过body-parser处理的请求体(req.body)发送过来的数据
    console.log(req.body);
    res.render('result',{username:'间隔非'})
})
module.exports = router;

猜你喜欢

转载自blog.csdn.net/memedadexixaofeifei/article/details/86426585