Express 三方模块 路由

在这之前安装 npm install express

1.创建

//引入express模块
const express = require('express');
//创建web服务器
const app = express();
//设置端口
app.listen(8080)

2.路由

用来接收请求,以及做出响应
可以处理特定的请求,包括三部分,请求的方法,请求的URL,回调函数   
d当浏览器发出的请求匹配请求的方法和请求的URL就会自动触发改路由,执行回调函数。
res.send()设置响应的内容并发送
res.sendFile()设置响应的文件并发送,文件需要使用绝对路径
__dirname 返回当前的绝对路劲
res.redirct()设置响应的重定向

app.get('/login', (req, res) => {
    //req 请求的对象
    //res响应的对象
    //设置响应的内容并发送
    res.send('这是登录的网页')
});
app.get('/list', (req, res) => {
    res.send('这是商品列表')
})
//路由;请求方法 get  请求URL/study
app.get('/study', (req, res) => {
    //跳转
    res.redirect('http://www.tmooc.cn');
})
app.get('/', (req, res) => {
    res.redirect('/list')
})
//响应文件1.html
app.get('/file', (req, res) => {
    res.sendFile(__dirname + '/1.html')
})
//获取当前模块的绝对目录
console.log(__dirname)

接着上面引入的express

//引入查询字符串模块
const querystring = require('querystring')//为了把数据解析为对象
app.get('/search', (req, res) => {
    //响应文件页面
    res.sendFile(__dirname + '/search.html')
});
//根据表单的请求添加对应的请求,添加对应的路由
//请求方法get 请求url /mysearch
//响应成功
app.get('/mysearch', (req, res) => {
    //获取查询字符串传递的数据
    console.log(req.query)
    console.log(req.query.keywork)
    res.send('响应成功')
})
app.get('/login', (req, res) => {
    res.sendFile(__dirname + '/login.html')
})
//根据表单提交来创建对应的路由
app.post('/mylogin', (req, res) => {
    //获取post请求的数据,传递的方式通过流
    //使用事件的方式获取,一旦流入数据,获取
    req.on('data', (chunk) => {
        //chunk分段传递的数据 格式为buffer
        let str = String(chunk)//转字符串后,是查询字符串
        //将查询字符串解析问对象pares
        let obj = querystring.parse(str)
        console.log(obj)
        console.log(obj.name, obj.pwd)
    })
    res.send('登录响应成功')
})
//;创建查看包的使用说明路由                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
//请求方法get url /package 响应:'这是包的详情'
//路由传参
app.get('/package/:pname', (req, res) => {
    //获取路由参数的数据
    console.log(req.params)
    res.send('这是详情介绍' + req.params.pname)
})
app.get('/shopping/:lid/:unm', (req, res) => {
    console.log(req.params)
    res.send('商品添加成功ID是' + req.params.lid + '商品名字' + req.params.unm)
})

HTML代码
search.html

<!--
     method设置请求的方法
     action设置请求的URL
     -->
    <form method="GET" action="/mysearch">
        <input type="text" name="keywork">
        <input type="submit" value="提交">
    </form>

login.html

 <form method="POST" action="/mylogin">
        <span>用户</span>
        <input type="text" name="name">
        <br>
        <span>密码</span>
        <input type="text" name="pwd">
        <br>
        <input type="submit" value="提交">
    </form>
//创建查看包的使用说明路由                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
//请求方法get url /package 响应:'这是包的详情'
//路由传参
app.get('/package/:pname', (req, res) => {
    //获取路由参数的数据
    console.log(req.params)
    res.send('这是详情介绍' + req.params.pname)
})
app.get('/shopping/:lid/:unm', (req, res) => {
    console.log(req.params)
    res.send('商品添加成功ID是' + req.params.lid + '商品名字' + req.params.unm)
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值