nodejs express中的路由
web nodejs 2023-01-13 704 0
关于本站

“最难不过坚持”

本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作

有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339

6562224 2620 39
最新评论
https://jueru.net/
评 留言
:weixiao:
评 留言
:shuijiao: :weiqu: :zhenbang: :leng:
评 留言
:yiwen: :yiwen: :yiwen: :yiwen:
评 EasySass: could not generate CSS file. See Output panel for details.
这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
评 TP6模型事件-查询后onAfterRead不好用
文章标签更多
ThinkPHP (254)
Mysql (58)
DedeCms (33)
jQuery (67)
证件照 (1)
setInc (4)
setDec (4)
onclick (5)
打开边栏(ESC) 关闭边栏(ESC)
2.1 路由的概念
2.1.1 什么是路由
路由就是映射关系

2.1.2 生活中的路由
拨打 10086 查询服务的时候,按键1->业务查询,按键2->手机充值等等
在这里,路由是 按键 与 服务 之间的映射关系

2.1.3 Express中的路由
在Express中,路由指的是 客户端的请求 与 服务器处理函数之间 的映射关系。
Express 中的路由分 3 部分组成,分别是请求的类型、请求的URL地址,处理函数 , 格式如下:
 app.method(path,handler) //method代表get或post

2.1.4 express 路由中的例子
//挂载路由 // 匹配 GET 请求,且请求 URL 为 / 
app.get('/', (req, res) => {
    res.send('hello world!')
})
// 匹配 POST 请求,且请求 URL 为 /
app.post('/', (req, res) => {
        res.send('express request')
    })

2.1.5 路由的匹配过程
每当一个请求到达服务器之后,需要先经过路由的匹配,只要匹配成功之后,才会调用对应的处理函数。
在匹配时,会按照路由的顺序进行匹配,如果请求类型和请求的 URL 同时匹配成功,则 Express 会将这次请求,转交给对应的 function 函数进行处理。
from clipboard
路由匹配的注意点:

①按照定义的先后顺序进行匹配

②请求类型和请求的URL同时匹配成功,才会调用对应的处理函数

2.2.1 最简单的用法
在Express 中使用路由最简单的方式就是把路由挂载到 app 上,示例代码如下所示:

const express = require('express')
//创建web服务器
const app = express()

//挂载路由 
app.get('/', (req, res) => {
    res.send('hello world!')
})

app.post('/', (req, res) => {
        res.send('Post request')
    })

//启动web服务器
app.listen(80, () => {
    console.log('express server running at http://127.0.0.1')
})
2.2.2 模块化路由
为了方便对路由进行模块化的管理,Express 不建议将路由直接挂载到 app 上,而是推荐将路由抽离为单独的模块。

将路由抽离为单独模块的步骤如下:

① 创建路由模块对应的 .js 文件
② 调用 express.Router() 函数创建路由对象
③ 向路由对象上挂载具体的路由
④ 使用 module.exports 向外共享路由对象
⑤ 使用 app.use() 函数注册路由模块


2.2.3 创建路由模块/router/user.js

const express = require('express')  // 1.导入express
const router = express.Router()     // 2.创建路由对象

router.get('/user/list',function(req,res){ // 3. 挂载获取用户列表的路由
res.send('Get user list')
})
router.post('/user/add',function(req,res) { // 4.挂载添加用户的路由
res.send('Add new user')
})
module.exports = router    // 5.向外导出路由对象
2.2.4 注册路由模块index.js
const express = require('express')

const app = express()

// 1. 导入路由模块
const userRouter = require('./router/user.js')

// 2. 使用 app.use() 注册路由模块
app.use(userRouter)

app.listen(80,()=>{
  console.log('express server running at http://127.0.0.1');
})
2.2.5 为路由模块添加前缀
路由模块添加前缀的方式 类似于 托管静态资源时,为静态资源统一挂载访问前缀一样
// 1. 导入路由模块
const userRouter = require('./router/user.js')

// 2. 使用 app.use() 注册路由模块,并添加统一的访问前缀 /api
app.use('/api',userRouter)

访问url必须带上api

from clipboard

版权声明:本篇文章来源于网络。 来源链接

相关推荐
windows如何把已安装的nodejs高版本降级为低版本
nodejs | 2022-10-17 2119
第一步:先清空本地安装的node.js版本 1.按健win+R弹出窗口,键盘输入cmd,然后敲回车,然后进入命令控制行窗口,并输入where node查看之前本地安装的node的路径 2.找到上面找到的路径,将node.exe所在的父目录里面的所有东西都删除 3.为了彻底删除之前安装的node.js,鼠...
This application is only supported on Windows 8.1, Windows Server 2012 R2, or hi gher.
nodejs | 2022-07-06 1841
有的nodejs版本不支持win7,在win7系统中执行npm -v时会有以下提示 This application is only supported on Windows 8.1, Windows Server 2012 R2, or hi gher. 下载v12.16.2及之前的版本即可 https://nodejs.org/d...
评论:0条
评论加载中...
发表评论