express提供了一个非常好用的方法,叫做 express.static(),通过此方法,可以非常方便地创建一个静态web资源服务器

app.use(express.static('public'))

现在可以访问public目录下所有的文件

如public/aa.jpg文件,则可以通过 : http://xxxx/images/aa.jpg

挂载路径前缀,希望是访问到指定的路径后才触发到静态资源管理

app.use('public', express.static('public'))

如public/aa.jpg文件,则可以通过 : http://xxxx/public/images/aa.jpg

路由在生活中如拨打服务电话时,按数字几能处理什么样的处理,它就是类似于按键与服务之间的映射关系。

在Express中,路由指的就是客户端发起的请求与服务器端处理方法之间的映射关系

定义路由

express中的路由分3部份组件,分别是请求类型、请求uri和对应的处理函数。

当一个客户端请求到达服务端之后,先经过路由规则匹配,只有匹配成功之后,才会调用对应的处理函数。在匹配时,会按照路由的顺序进行匹配,如果请求类型和请求的 URL 同时匹配成功,则 Express 会将这次请求,转交给对应的函数进行处理。

app.<get/post/put/delete/use>(uri,(req,res)=>{})

模块化路由

在开发项目时,如果将所有的路由规则都挂载到入口文件中,程序编写和维护都变得更加困难。所以express为了路由的模块化管理功能,通过express.Router()方法创建路由模块化处理程序,可以将不同业务需求分开到不同的模块中,从而便于代码的维护和项目扩展。

路由模块化处理可以分为以下步骤来完成

  • 创建独立js空白文件(最后是统一放在一个目录下)
  • 在js中使用express.Router()方法创建路由模块对象
  • 使用路由对象完成路由规则的对应的业务编写
  • 使用模块化导出(module.exports=router)
  • 在主入口文件中能过app.use方法来注册定义的路由模块
  • 创建路由模块目和文件

  • 通过express.Router()方法得到模块路由对象

  • 定义路由,规则和之前定义是一致

  • 模化导出,router模块路由对象

  • 在入口文件中引入自定义路由规则

  • 后台路由模块引入使用

Nodejs静态资源管理 路由的更多相关文章

  1. NodeJS中的静态资源管理服务

    欢迎大家指导与讨论 : ) 一.什么是静态资源 静态资源就是放在服务器中的特定的文件.比较常见的有.css,.png, .js的这一些后缀的文件.下图中的这个html页面便要获取到logo.png和a ...

  2. 用node搭建简单的静态资源管理器

    我们都知道,老牌的3p服务器都是自带静态资源管理器的.但是node不同,它没有web容器,它的路由地址和真实地址可以没有联系,所有node的优点,是可以把路由做得相当漂亮. 但静态资源管理器也是必不可 ...

  3. ASP.NET没有魔法——ASP.NET MVC界面美化及使用Bundle完成静态资源管理

    对于一个应用来说界面的重要性无言而喻,而Web应用的界面是使用Html+Css以及Javascript实现的,ASP.NET MVC是一个用来构建Web应用的框架,它的界面也是Html实现的,对于一些 ...

  4. ASP.NET没有魔法——ASP.NET MVC Razor与View渲染 ASP.NET没有魔法——ASP.NET MVC界面美化及使用Bundle完成静态资源管理

    ASP.NET没有魔法——ASP.NET MVC Razor与View渲染   对于Web应用来说,它的界面是由浏览器根据HTML代码及其引用的相关资源进行渲染后展示给用户的结果,换句话说Web应用的 ...

  5. node静态资源管理变迁之路

    使用express自带的,express.static,如:app.use(express.static('hehe')),就可以用localhost/hua.png,访问项目根目录下,hehe文件夹 ...

  6. NodeJS静态文件访问性能测试

    受益于JavaScript语言优秀特点,使NodeJS开发服务端应用很方便,配合NPM官方提供的大量第三方组件,让NodeJS更加如虎添翼.最近,需要使用NodeJS做一个服务端HTML5的游戏服务器 ...

  7. 安装nodeJs静态服务器(NodeJs Express MVC 框架)

    安装 NodeJs Express MVC 框架   新建项目文件夹   打开cmd 执行以下操作:   一.使用Express框架 1)安装express3 $: npm install -g ex ...

  8. vue本地项目静态资源管理

    vue本地项目静态资源管理 统一放在src/static里面css,images,js index.html里面使用重置样式 <link rel="stylesheet" h ...

  9. nodejs进阶(3)—路由处理

    1. url.parse(url)解析 该方法将一个URL字符串转换成对象并返回. url.parse(urlStr, [parseQueryString], [slashesDenoteHost]) ...

  10. nodejs开发 express路由与中间件

    路由 通常HTTP URL的格式是这样的: http://host[:port][path] http表示协议. host表示主机. port为端口,可选字段,不提供时默认为80. path指定请求资 ...

随机推荐

  1. 力扣189(java)-轮转数组(中等)

    题目: 给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数. 示例 1: 输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释 ...

  2. 为 Serverless Devs 插上 Terraform 的翅膀,实现企业级多环境部署(下)

    简介: 在上篇中,主要介绍了 Serverless Devs 多环境功能的使用,用户读完可能会些疑问,本文会就一些常见问题进行下回答. 在上篇中,主要介绍了 Serverless Devs 多环境功能 ...

  3. 阿里云数据库开源重磅发布:PolarDB三节点高可用的功能特性和关键技术

    ​简介:在3月2日的阿里云开源 PolarDB 企业级架构发布会上,阿里云数据库技术专家孟勃荣 带来了主题为<PolarDB 三节点高可用>的精彩演讲.三节点高可用功能主要为 PolarD ...

  4. Flink 在 58 同城的应用与实践

    ​简介: 58 同城的实时 SQL 建设以及如何从 Storm 迁移至 Flink. 本文整理自 58 同城实时计算平台负责人冯海涛在 Flink Forward Asia 2020 分享的议题< ...

  5. WPF 全屏窗口将让 Chrome 97 视频停止播放

    无论是使用 WPF 全屏窗口,还是高性能全屏透明窗口,都会在 Chrome 97 以及使用 chromium 对应版本内核的应用的视频停止播放.这是 chromium 的一个优化,因为 chromiu ...

  6. OLAP系列之分析型数据库clickhouse集群扩缩容(四)

    一.集群缩容 1.1 下线节点 步骤:1.对外停止服务2.转移数据3.修改剩余节点配置4.通知客户端修改节点列表 # 修改90,91服务器配置文件 vim /etc/clickhouse-server ...

  7. Pinpoint对k8s关键业务模块进行全链路监控(17)

    一.全链路监控概述 1.1 什么是全链路监控 在分布式微服务架构中,系统为了接收并处理一个前端用户请求,需要让多个微服务应用协同工作,其中 的每一个微服务应用都可以用不同的编程语言构建,由不同的团队开 ...

  8. c++图像处理程序编译成.so动态链接库供Java调用(包含jni文件与引用第三方动态链接库opencv)

    一.linux编译so文件需要准备的环境 1.安装JDK(注意:不能安装openjdk,因为openjdk没有include目录,编译时需要用到include目录的头文件) 2.安装gcc和g++   ...

  9. elasticsearch02-Request Body深入搜索

    目录 02. Request Body深入搜索 1.1 term查询 1.1.1 term 与 terms 1.1.2 range 范围查询 1.1.3 Constant Score 1.2 全文查询 ...

  10. python教程1.1:环境安装+代码编辑器安装

    1.环境安装 打开官⽹ https://www.python.org/downloads/windows/ 下载中 下载后执⾏,点击下⼀步安装就⾏,注意选择添加Python到当前⽤户环境变量 2.代码 ...