美文网首页
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