Express框架的使用教程

Express全系列教程之(一):Express的安装 和第一个程序 前言 ndoe.js,一个基于javsscript运行环境的服务器语言,它的出现使得javascript有能力去实现服务器操作。在gitHub上ndoe.js的star数已接近6万,可见其受欢迎程度;而基于node.js的Express则把原先的许多操作变的简单灵活,一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。 ex... 阅读详情

Express框架的使用简单教程

express是一个开源的框架,大多数公司也在使用这样的框架作为Node中间层或者是服务端使用,下面来简单的讲解一下express的使用,包括(框架的搭建,数据库的操作,服务端的渲染等等)

1.安装express框架

npm install express -g  // 全局安装express
express demo            // 初始化express项目
cd demo

大致的目录结构如下
在这里插入图片描述
接下来大致介绍一下这些目录的作用

1.1 bin目录

该目录下存放的是一些配置文件如:项目启动的端口号等

1.2 public目录

存放的是一些公共的样式等等,可能有些人会有疑问这里面为什么会用到样式呢?我这Node是做后端的呀,对!!理解的没错。但是有时候我们可能会使用到服务端渲染所以才会有样式的出现

1.3 routes目录

顾名思义:routes下面的是所有的路由配置(也就是所说的接口)路由文件如下图

var express = require('express');
var router = express.Router();
var usersController = require('../controller/users');
/* GET users listing. */
router.get('/getList', usersController.list);
router.get('/login', usersController.login);
router.post('/register', usersController.register);
router.get('/delete', usersController.deleteUser);
router.post('/update', usersController.updateUser);
module.exports = router;

router.get():即前端用get的方法请求接口
router.post():即前端用post的方法请求接口
请求某个接口之后会调用一个对应的函数去处理相对应的业务逻辑,拿上述代码的router.get('/getList', usersController.list)来说,当前端请求该接口之后会去调用usersController.list这个方法,看一下userController.list这个方法吧

const list = async (req, res) => {
	const { pageSize = 5, pageNum = 1 } = req.query;
	const offset = parseInt(pageSize) * (pageNum - 1);
	const limit = parseInt(pageSize);
	const users = await usersModel.findAndCountAll({ offset, limit });
	const data = {
		success: true,
		data: users
	}
	res.send(data)
}

该函数的两个参数分别是request和response分别是请求对象和响应对象。上面的代码res.send(data)即是将从数据库中查询的数据以json的形式返回给前端。关于findAndCountAll是sequelize提供的。这是一组封装好的ORM为了方便的查询数据库,读者可自行google查询用法

1.4 views目录

该目录是服务端渲染的html或jade文件的存放位置,不过需要在app.js中来指定该目录app.set('views', path.join(__dirname, 'views'));

1.5 app.js

该文件是项目的根文件包括一些路由的引用配置,统一的错误处理等

2. 接口的使用

上面已经介绍过了,接口是写在routes文件中的,接下来给大家看一下routes文件的目录
在这里插入图片描述
该目录下的两个文件分别是index.js和users.js。既然有两个文件的话那么路由匹配的时候究竟会匹配到哪一个呢?或者说在哪引用到了这两个文件呢
在这里插入图片描述
原来是在app.js中引用了这两个文件,并且两个文件的使用方式不同,这就很明显了。当你请求usersRouter中接口的时候呢需要这样来写/service/接口名 即请求usersRouter中的接口的时候前面需要加上前缀/service

3. Model的使用

model是MVC分层中的M层,主要是用来建立对照模型,即使用代码建立模型与数据库中数据表的字段一一对应。那怎么使用呢?其实前面已经提到过了就是使用sequelize

// 安装sequelize
npm install sequelize
// 在项目根目录下建立model文件夹,并建立users.js文件

var Sequelize = require(‘sequelize’);
var sequelize = new Sequelize(
‘user_info’, // 数据库名
‘limingyang’, // 用户名
‘limingyang’, // 密码
{
dialect: ‘mysql’, // 数据库类型
host: ‘mysql56.rdsmscdhekdxy4f.rds.bj.baidubce.com’, // 数据库地址,本人用的是百度云的数据库
port: ‘3306’ // 端口号
}
)

// 定义表的模型(对应数据库中users数据表)
var Users = sequelize.define(‘users’,{
id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true },
user_name: {
type: Sequelize.STRING(50)
},
user_pass: {
type: Sequelize.STRING(50)
},
}, {
freezeTableName: true,
timestamps: false // 是否自定生成并查询时间戳
});
Users.sync();
module.exports = Users;

定义表的模型时候需要注意的是如果你的表中没有createAt或者updateAt字段的时候 需要设置timestamps: false,否则在请求数据的时候会报错。

4. Controller的使用

controller是MVC分层的C层主要用来处理业务逻辑,即数据库的查询等相应的逻辑操作放在controller层中去完成。上面已经说过controller的简单使用,接下来主要阐述一些细节的东西。
我们在做一些业务逻辑处理的时候经常会操作到数据库,接下来说一下sequelize的用法,举一个简单的例子

const list = async (req, res, next) => {
	const { pageSize = 5, pageNum = 1 } = req.query;
	const offset = parseInt(pageSize) * (pageNum - 1);
	const limit = parseInt(pageSize);
	const users = await usersModel.findAndCountAll({ offset, limit });
	const data = {
		success: true,
		data: users
	}
	res.send(data)
}

该list函数是一个简单的分页查询功能 值得一说的是await usersModel.findAndCountAll({ offset, limit }); 当使用usersModel.findAndCountAll({ offset, limit })去操作数据库的时候返回的是promise对象,这样就可以使用async await语法来拿到请求回来的数据并返回到前端了

Node.js + Express框架零基础教程笔记 Node.js + Express框架零基础教程笔记、Node.js、Express、框架、前端 阅读详情

相关推荐

【Node.js教程】Express框架入门:从搭建到动态渲染商品列表

本文介绍了使用Express框架开发Web应用的基础知识,包括:1)Node.js作为JavaScript运行环境的定位;2)Express项目创建与配置;3)路由设置与中间件使用;4)EJS模板引擎实现动态渲染。教程详细演示了如何从零搭建项目、处理静态文件、配置路由映射,并通过商品列表案例展示了动态渲染的实现方法。文章还对比了GET与POST请求的区别,适合前端开发者学习后端开发的基础技能。

热爱音乐和二次元! 1351

Node Express框架快速入门教程

安装Express 创建项目目录,例如在本地D盘创建myapp项目 D:/myapp 在myapp项目根目录打开命令提示行工具,执行如下命令: # 初始化 npm init -y # 安装express cnpm i express --save # 安装ejs模板引擎 cnpm i ejs --save 项目目录结构 目录结构按照MVC模式进行创建,依次新建controller、views、model、public等文件夹,结构如下: - controller 控制层 - views 视图层 - mod

柯晓楠 6359

Express框架指导下的NodeJS博客搭建实践教程

本文还有配套的精品资源,点击获取 简介:本教程详细介绍了如何使用Node.js和Express框架构建一个简单博客系统。首先解释了Express框架的特点及其在Web应用开发中的作用,然后通过一系列步骤来指导读者完成博客系统的搭建。内容包括JavaScript基础知识,设置项目环境,安装必要的依赖,定义路由,连接数据库以及使用模板引擎渲染页面。此外,还探讨了如何扩展博客功能...

weixin_42551310的博客 796

Express.js 框架教程:从入门到精通

Express.js 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供了一系列强大的特性来帮助创建各种 Web 和移动设备应用。

mathematicians的博客 1460

express-controllers:增加model-view-controller的controller风格路由来表达

快速控制器 express-controllers 添加了来自模型-视图-控制器范例的控制器样式路由,以使用进行。 安装 npm: $ npm install express-controllers 用法 var express = require ( 'express' ) var controllers = require ( 'express-controllers' ) var app = module . exports = express ( ) . controllers ( ) ; if ( ! require . parent ) { var server = app . listen ( 3000 , function ( ) { var host = server . address ( ) . address ; var port = se

express 项目分层实践详解

前言 上次我们搭建了一个基本的 express 后台,但是这样的项目结构的可扩展性,维护性和代码复用性都不是很好,参照之前学习 JavaWeb 时候的四层架构设计,用分层的思想来对 express 进行一点小优化,进一步提高代码的可拓展性。本文的源代码在 Github 上,建议看着代码来看这篇文章。 1 四(五)层结构概念 这个就简单说一下,所谓四层架构就是 Model实体层,Dao层(数据访问层也就是从数据库中查数据),Service层(业务逻辑层,也就是处理好数据),Controller层(视图控制层,在前后端分离的情况下就是写接口响应前端请求)和前端的 view(视图层),为啥要搞分层

Express框架的教程一之Express的简单使用

本文主要对node.js流行的express的框架的使用进行简单的举例示范

weixin_73368873的博客 845

【深度解析】信息素养提升实践活动(附:历年获奖作品分析)

全国师生信息素养提升实践活动是由教育部教育技术与资源发展中心(中央电化教育馆)主办,面向全国师生的一项信息化交流展示活动。

m0_74417957的博客 9651

TheOdinProject 项目教程:Express 框架入门指南

还在为 Node.js 原生 HTTP 模块的繁琐操作而烦恼吗?每次处理路由、中间件、请求响应都需要编写大量重复代码?Express 框架正是为了解决这些问题而生! Express 是一个极简而灵活的 Node.js Web 应用框架,提供了一系列强大的特性来帮助开发者快速构建 Web 应用和 API。作为 Node.js 生态系统中最受欢迎的框架,Express 拥有庞大的社区支持和丰富的中间...

gitblog_00983的博客 481

科研效率革命:Zotero与Web of Science联动实现千篇文献一键获取

本文详细介绍了如何利用Zotero与Web of Science联动实现科研文献的高效管理,包括批量导入、智能下载和自动整理千篇文献的技巧。通过精准检索、RIS文件导出和Zotero插件设置,科研人员可以大幅提升文献获取和管理的效率,特别适合开题报告和综述写作等场景。

weixin_29219539的博客 254

最优化理论与自动驾驶(三):LQR原理、公式及代码演示

LQR 是基于线性系统和二次型代价函数的最优控制方法,在实际工程应用中,我们一般采用离散时间系统的LQR设计,其目标是通过设计反馈控制律,使系统在离散时间步长内稳定运行,最小化某个二次型代价函数。给定一个离散时间系统,其状态和控制输入通过以下方程表示:是时刻k的系统状态,是时刻k的控制输入,是状态转移矩阵,是输入矩阵。系统描述的物理意义:系统状态通过矩阵A演变到下一时刻,同时控制输入通过矩阵B影响系统的状态。

a8598671的博客 4595

关于express 框架的基础教程

此外,您还可以使用Express的其他功能,如中间件和模板引擎。请记住,这只是一个简单的介绍,Express有更多功能和选项供您探索。为了使用中间件,您可以使用`app.use()`方法。Express是一个流行的基于Node.js的Web应用框架,它简化了构建Web应用程序的过程。安装完成后,您可以引入Express模块并创建一个Express应用程序。在Express中,可以使用app对象来定义路由。要使用模板引擎,您需要首先安装所需的模板引擎。这样,您就创建了一个基本的Express应用程序。

weixin_73032215的博客 425

Python Selenium调用IE11报错全解析:从环境配置到稳定运行

在Web自动化测试领域,Selenium作为主流的跨浏览器测试框架,其核心原理是通过WebDriver协议与不同浏览器的驱动程序进行通信,实现对浏览器行为的模拟与控制。这一技术为软件测试的自动化、回归测试的效率提升提供了重要价值,广泛应用于金融、政务等对遗留系统兼容性要求高的行业场景。然而,当技术栈涉及过时的浏览器如IE11时,环境配置的复杂性显著增加,特别是Python与Selenium的组合常遭遇驱动兼容性、安全设置等挑战。本文聚焦于解决Python Selenium驱动IE11时的典型报错问题,深入剖

weixin_28834765的博客 322

【NodeJS教程】第9节:Express 框架入门

摘要: 本文介绍了Node.js的Express框架入门知识,包括其核心特点(简洁高效、路由支持、中间件机制)、安装方法(npm install express)以及基础用法。通过代码示例展示了如何创建Express服务器、管理路由(app.get/post)和使用中间件(app.use)。文章还提供了10个高频面试题及答案,涵盖Express的基本概念、中间件、错误处理等核心知识点。最后布置了实践任务并建议拓展学习方向(如集成模板引擎、数据库交互)。Express作为轻量级Web框架,能显著提升Node.

silverclayz的技术分享 1448

AIGC实战:用ComfyUI和Lora微调打造专属原神角色(含完整工作流)

本文详细介绍了如何利用ComfyUI和Lora微调技术打造专属原神风格角色,涵盖从环境配置、数据集准备到工作流构建和Lora训练的全过程。通过模块化节点设计和高级控制技术,创作者可实现高度个性化的AIGC艺术创作,提升二次元角色生成的效率与质量。

weixin_29185199的博客 348

杰理JL701N内置flash录音配置教程

本文详细介绍了内置Flash录音功能的配置方法。主要内容包括:1) 基础模式配置(开启音乐/录音模式、Flash录音宏定义);2) 录音参数设置(格式基准值、存储区域定义、容量配置);3) MP3编码特殊处理;4) 下载时的Flash格式化操作;5) 录音开关和播放接口的使用说明。配置过程涉及多个关键文件的修改,并强调存储容量的精确分配。

qq_42014563的博客 597

node.js express框架开发入门教程

node.js express框架开发入门教程,包括express-generator生成器、nodemon、基础路由、中间件、模版引擎介绍、app.js解读等也可以使用其他模版引擎例如jade、mustache、dust、ejs等,不加--view=pug默认jade引擎,官方已弃用,现在推荐用pug。模版引擎主要用来服务端渲染HTML,在运行时,模板引擎将模板文件中的变量替换为实际值,并将模板转换为发送给客户端的 HTML 文件加载依赖启动项目npm start。

前端(全栈)、AI Agent开发技术分享 2585

高德地图API如何使用

通过以上步骤,您可以成功接入并使用高德地图API来为您的应用添加丰富的地图功能。

QQ_778132974的博客 4785

Node.js教程-express框架

Express是基于Node.js平台(建立在Node.js内置的http模块上),快速、开放、极简的Web开发框架。中文官网。。Express可设置中间件来响应 HTTP 请求定义了路由表用于执行不同的 HTTP 请求可通过向模板传递参数来动态渲染 HTML 页面定义中间件监听request对象的data事件监听request对象的end事件解析请求参数封装模块自定义中间件解析POST提交的数据// querything 是 Node.js的内置模块// 定义中间件。

旺仔的博客 2354

【开源电机驱动】位置环控制

这是三闭环里的最后一个:位置闭环控制。如果你认真的阅读并推导了前章节,那么这一节将会很好理解。一如既往,我会使用简练的语言来描述复杂的问题。本章节主要涉及位置环的一些概念,以及控制框图。文章不会涉及具体的代码。

BadBoyHolly的博客 6095

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

NowJS与Express框架集成教程:快速搭建实时Web服务

在当今Web开发领域,**实时Web应用**已成为提升用户体验的关键技术。NowJS作为一个强大的Node.js实时通信框架,能够与Express框架无缝集成,让开发者轻松构建高效的**实时Web服务**。本教程将为您详细介绍如何使用NowJS与Express快速搭建功能丰富的实时应用。🚀 ## 📦 快速安装NowJS NowJS的安装过程非常简单直接。首先确保您已经安装了Node.js和

gitblog_00573的博客 291

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

JavaScript结合node.js和Express框架制作项目教程详细版(一)——基础语法

学习用node.js创建一个项目

ttowill的博客 1394

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

node.js的Express框架使用教程

我们都知道,node.js可以做服务器开发页面。但是使用原生的node.js开发比较“繁琐”。 所以,我们可以使用node.js的一个较为成熟的Express框架开发。 首先,我们需要在安装node,相信大家都安装过了。怎么安装就不说了。这里就直接开始使用Express的。 一、准备开发 1.初始化npm npm init -y 2.下载Express npm i express -S 二、创建一个简单的Express.js文件 index.js const express = r

wang_9909的博客 1021

nodejs WEB框架express入门教程

Express是一种保持最低程度规模的灵活 Node.js Web 应用程序框架,为 Web 和移动应用程序提供一组强大的功能。

zb_ctrl的博客 1170

使用express框架编写接口教程

CORS (Cross-Origin Resource Sharing,跨域资源共享)由一系列HTTP 响应头组成,这些 HTTP 应头决定浏览器是否阻止前端 JS 代码跨域获取资源。浏览器的同源安全策略默认会阻止网页“跨域”获取资源。但如果接口服务器配置了 CORS 相关的 HTTP 响应头,就可以解除浏览器端的跨域访问限制。

梅山老妖的博客 398
上一篇: QT读写Sqlite数据库的三种方式
下一篇: Android使用阿里云接口实现身份证识别功能
Summer_Chun
博客等级 码龄7年 3粉丝 0原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值