node.js后端框架之express

article/2025/10/23 21:02:46

node.js后端框架之express

express框架现如算时node.js中一个比较过时了的一个框架,但是虽然如此,还是很有学习的价值,之前也学习过,以下是总结一些常用的方法以及对一些问题的处理

  • express基本的结构

在这里插入图片描述
express和原生的http模块相比,好处在于它将get,和post方法进行了抽离,不需要全部都卸载一个server的函数里面,让页面的结构更加的清晰,同时也是能够让代码更加简洁明了。
req和res分别代表的是Request对象和Response对象,在他们中有很多使用的方法,便于我们在路由的时候对数据进行处理,如下图
在这里插入图片描述
在这里插入图片描述

  • express 模块化系统

模块化的好处就是在于将各个方法进行单独的抽离成一个JS文件,结构十分的清晰明了,在工程量小的时候,这么开发可能会觉得有点麻烦,但是当工程量大的时候,这么做就是十分的便于我们的维护。
express最常见的模块化开发就是将路由给单独的抽离出去
login.js:
在这里插入图片描述
app.js:
在这里插入图片描述
思路:因为将express的路由模块给导出来let router = express.Router(),之后的路由就是通过这个router对象来处理,最后再将这个router对象导出,再app.j中导入模块,在入口文件中通过使用中间键的形式使用即可app.use(login)即可

  • express解决跨域问题

跨域问题也是在前后端数据交互常常会发生的问题,在express中,一样也是使用中间键的方式,在路由之前对路由的地址就先做一层处理,就能够轻松的解决跨域的问题,代码如下:
在这里插入图片描述
在做了这层处理之后,前端就可以在跨域的情况下访问后端的接口了

  • express接收前端传递的数据

GET传值
get请求也可以传值,并且get传值一般都是在url中能够直接体现,后端火炮去get传值的方式就可以通过req.query的方式来获取get传值。
POST传值
在express中还是和原生的http模块获取post传值还是有一些区别的,因为post传值的值是在请求体中的,所以我们可以直接使用req.body来获取这个值,但是这一切都是建立在引用了body-parser这个模块下,在没有引用body-parser模块下使用req.body的结果是undefined,引用了之后会有值
引用body-parser需要使用如下代码:
在这里插入图片描述
在这里插入图片描述

  • 静态资源共享

静态资源共享的意思就相当于是我们直接输入一串url,会直接返给我一个静态文件,如图片等等,这个其实也就是网上接口的原理,输入一串url,直接传回一长串的json数据给我们,
实现这个功能我们需要创建一个单独的public文件夹,把需要共享的文件都放在这个文件夹下,最后只需要将这个文件夹给共享出来,就可以通过url路径的方式来获取文件夹下的文件了
使用app.use('/public',express.static('public'))的方式将这个public文件夹共享出去,之后要访问里面的文件就可以通过http://127.0.0.1:666/public/img/slide1.jpg的方式直接在浏览器中输入,那么图片就会直接显示出来

  • 文件的上传

文件的长传功能其实有很多种的实现方式,不过最好的还是使用form表单配合multer模块来实现文件的上传。
multer模块并不是核心模块,需要引入,使用的时候也是使用中间键的方式来引入
在这里插入图片描述
dest表示的是上传到服务器的位置,后面的array是需要和前面form表单种 input type = file 标签的name属性保持一致
在这里插入图片描述
form表单的enctype="multipart/form-data"属性添加了之后我们可以利用form表单提交一些图片、音频、视频等文件,如果不加,默认以enctype="application/x-www-form-urlencoded"编码传输
在传递了信息给后台之后,后台可以通过req.files来获取传递的数据。
在这里插入图片描述
在这里插入图片描述
这个就是今天主要复习到的关于express框架的知识,总的来说express框架还是很方便的,也很好用,也有值得提升的地方,比如在模块化开发种将路由的router对象导出,每个模块都得引入一遍express,这个就不是很好,重复的代码太多,所以在下一代的KOA框架中,就直接的将router对象给导出了。


http://chatgpt.dhexx.cn/article/xbw18Oks.shtml

相关文章

node笔记_读文件(异步读取、流式读取)

文章目录 ⭐前言⭐ 读取文件异步读 readFile读取txt 流式读 createReadStream读取视频 ⭐ 结束 ⭐前言 大家好,我是yma16,本期分享node读取文件。 往期文章 node_windows环境变量配置 node_npm发布包 linux_配置node node_nvm安装配置 node笔记_http服务…

前端:安装node.js、配置环境、安装vue、安装yarn、常见错误

安装node.js 1.下载链接: node.js下载官网 配置环境 推荐视频教程:node.js安装、环境变量配置 注意: 下面两行分别输入到控制台中,视频中UP主少打一个空格键,复制下面的就可以,双引号里是文件夹路径 npm…

Node.js从基础到项目实践

摘要: Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它允许开发者使用JavaScript构建高性能的服务器端应用程序。本文将介绍Node.js的基础知识,并通过项目实践的方式帮助读者深入理解Node.js的用法和功能。从基础到项目实践&#x…

Node.js—数据库

1. 数据库的基本概念 1.1. 什么是数据库 数据库(database)是用来组织、存储和管理数据的仓库。 为了方便管理互联网世界中的数据,就有了数据库管理系统的概念(简称:数据库)。用户可以对数据库中的数据进…

Node.js的常用内置模块

目录 一、os模块 1.1 引入 2.2基本语法 二、path模块 2.1 引入 2.2基本语法 三、url模块 3.1 引入 3.2 基本语法 ​ 四、fs模块 4.1 引入 4.2 基本语法 4.2.1 写入内容 4.2.2 追加内容 4.2.3 读取文件 4.2.4 判断是否为文件或者文件夹 4.2.5 删除文件 五、…

10个常见的Node.js面试题

窗体  如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度。 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面。 在进入正文之前,需要提前声明两点: 这些…

node服务器部署

网络 TCP/IP网络协议 聊TCP/IP协议之前, 咱们先看一下OSI七层模型. 第 7 层:应用层 为操作系统或网络应用程序提供访问网络服务的接口。应用层协议的代表包括: HTTP,HTTPS,FTP,TELNET,SSH,SM…

15 个常见的 Node.js 面试问题及答案

俗话说:临阵磨枪,不快也光。对于成功的编程面试来说,准备和知识面一样重要。准备使你有信心参加面试,而不用担心莫名的紧张情绪。如果第一次参加编程面试,这一点尤其重要。 为帮助 Node.js 开发人员更好的面试&#x…

node.js 详解

目录 一. 初始node.js 1.为什么 JavaScript 可以在浏览器中被执行? 2. node.js 简介 3. node.js 查看是否安装 4. 运行文件 (1).在终端中输入 :node 文件 (2). 终端中的快捷键 二. fs 文件系统模块 1. fs.readFile() 和 fs.readFileSync()&…

轻量级音乐播放器 android,5款顶级Android离线音乐播放器,哪款才是你的菜?

打开左侧栏,Stellio 的功能排列井井有条。你可以选择多样的播放队列,根据专辑、演奏者等属性快速找到想要的歌曲。 重视细节的Stellio 还有睡眠模式、自定义widget 等小功能。难能可贵的是,它还支持Android Wear。 均衡器也是Stellio 的重头戏,拥有12 频段和16 种预设模式。…

Android Studio实现音乐播放器2.0

项目目录 一、引言二、项目概述1、需求分析2、设计分析3、资源文件分析 三、开发环境四、优化设计🌷1、上一首下一首🌾2、控件UI优化🍁3、登录和注册🌴4、数据库设计🌻5、歌手导航栏 五、运行效果六、项目总结七、源码…

Android本地音乐播放器的制作

如何制作android本地的音乐播放器呢&#xff1f;步骤通常是如下&#xff1a; 1.在清单文件AndroidMainFest.xml文件当中添加权限。 <uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE"/>2.需要找到当前module的build.gradle文件当中t…

Android 编程案例-本地音乐播放器源码及使用注意事项

说一下代码在用的时候注意事项以及在运行的时候可能遇到的问题&#xff1a; 首先代码可以在创建相应文件后直接复制&#xff0c;这个案例用到了RecyclerView&#xff0c;所以需要先添加依赖。添加下面两个&#xff1a; implementation ‘com.android.support:recyclerview-v7…

Android开发之本地音乐播放器(二)

此次音乐播放器是针对上一个&#xff1a;https://blog.csdn.net/qq_43433255/article/details/88084420 开发出来的一个功能增强型&#xff0c;基本实现功能为&#xff1a; 通过列表管理SD中的音乐文件。通过seekbar可以显示一首音乐的播放进度。通过seekbar实现音乐播放的进度…

Android音乐播放器源码

转载自&#xff1a;https://blog.csdn.net/xch_yang/article/details/103916201 android开发音乐播放器&#xff0c;能够很好的应用Android基础知识&#xff0c;是个不错的开发选择&#xff0c;部分界面如下 这个项目很好的结合了Android的四大组件知识。其中音乐来源于手机本…

本地音乐播放器+android8.1,APlayer v1.5.6.8-15681 安卓本地音乐播放器 | 智享阁

应用简介 APlayer是一款安卓本地音乐播放器&#xff0c;遵循 Material Design 设计&#xff0c;UI清新简洁、操作简单、功能齐全。 应用特点 首页Tab可配置&#xff0c;最多支持五个,包括歌曲、艺术家、专辑、文件夹、播放列表 专辑、艺术家封面自动补全 支持显示本地和在线歌词…

大作业---Android本地音乐播放器开发知识点19145120

步骤 系列文章前言1. 简述程序、进程、线程的区别和联系。&#xff08;10分&#xff09;2. 什么是UI线程&#xff1f;&#xff1f;什么是工作线程&#xff1f;&#xff08;10分&#xff09;3. 如何定义1个结构良好可控的工作线程&#xff08;源代码说明&#xff09;&#xff1f…

Android入门之本地音乐播放器

功能简介 读取模拟器中音乐文件&#xff1b;列表展示&#xff0c;获取歌曲详细信息&#xff1a;歌名、歌手名、专辑名、专辑封面、播放时间等&#xff1b;基本功能&#xff1a;上下切歌&#xff0c;播放暂停、进度条显示与点击跳转。成品效果图&#xff1a; Mediaplayer基本…

大学生安卓期末设计之本地音乐播放器

作为一个热爱设计交互性产品的男大学生&#xff0c;我真的不太爱听课&#xff0c;所以很多时候&#xff0c;需要一个人学会阅读搜索资料并不停尝试&#xff0c;我希望大家也多多热爱这样持之以恒的尝试。 先看产品的一个模拟机测试效果&#xff08;b站南阳洛信也有视频) 安卓A…

Android本地音乐播放器

UI界面模仿QQ音乐 实现一个简单的本地播放器&#xff0c;功能包括&#xff1a;播放&#xff0c;暂停&#xff0c;上一曲&#xff0c;下一曲&#xff0c;进度条。 功能实现 读取本地音乐 1.创建一个Song类 public class Song {public String song;//歌曲名public String sing…