美文网首页
Node.js学习——Express中使用Router进行路由模

Node.js学习——Express中使用Router进行路由模

作者: wxyzcctn | 来源:发表于2022-01-24 09:56 被阅读0次
各个文件

根目录下的app.js文件中

const express = require('express')
const ejs = require('ejs');
const bodyParser = require('body-parser');
const app = express()
const port = 3000;
// 引入路由模块
const login = require('./routers/login')

//配置模板引擎
app.engine("html",ejs.__express)
app.set("view engine","html")
//配置静态web目录
app.use(express.static("static"))
//配置第三方中间件,此处配置的bodyParser是全局的配置,在下面的login中间件中是可以直接使用的
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())

// 当访问/login路由时直接使用login路由模块
app.use('/login',login);

app.get('/', (req, res) => {
    res.send('首页')
})

app.listen(port, () => console.log(`Example app listening on port ${port}!`))

在routers/login.js文件中

const express = require('express');

var router = express.Router();

router.get('/',(req,res)=>{
    res.render('login',{})
})

router.post('/doLogin',(req,res)=>{
    var body = req.body;
    console.log(body);
    res.send('用户名为: '+body.username)
})

module.exports = router;

此时在页面中访问的 /login 、/login/doLogin都会走routers/login.js中的逻辑
在views/login.html文件中

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="/css/style.css">
    <title>Document</title>
</head>
<body>
    <h2>post提交数据</h2>
    <form action="/login/doLogin" method="post">
        用户名:<input type="text" name="username" id="">
        密码:<input type="password" name="pwd" id="">
        <input type="submit" value="提交">
    </form>
</body>
</html>

相关文章

网友评论

      本文标题:Node.js学习——Express中使用Router进行路由模

      本文链接:https://www.haomeiwen.com/subject/augcfrtx.html