Node Web后端框架 Express 的学习 --- ①

引言

经过两周的深入研究与实践,我对ExpressKoaHyperExpress等多个技术框架进行了详细的对比。过去曾听闻Node中的Web框架因其轻量级特性在中小规模项目中备受推崇。虽然之前我对Node.js框架的了解并不深入,但这激发了我进一步探索这一领域的兴趣,以期找到能够完美契合我当前需求的框架------既要轻量,又要实用。而在这个过程中,Express框架在众多框架中脱颖而出,以其轻量级的特性和良好的生态环境深得我心,完全符合我当前的需求。

学习思路

若要深入学习和掌握一个框架,一个高效且直观的方法是与现有的大型框架如SpringBoot进行对接。通过这种方式,我们可以模拟并实现一个基于Node的后端系统,该系统在功能和结构上与SpringBoot版的系统相似。这种方法不仅能够让我们快速地理解框架的核心概念和运行机制,还能够在实际操作中不断优化和完善我们的知识体系。最终,我们将能够构建一个兼具SpringBoot强大功能和Node灵活性的后端系统,从而更加高效地服务于各类应用开发需求。

框架环境搭建

使用 Express 框架之前,确实需要确保你的开发环境中安装了 Node.js。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它允许你在服务器端运行 JavaScript 代码。

为了能够在同一台机器上管理多个 Node.js 版本,推荐使用 nvm(Node Version Manager)。nvm 是一个命令行工具,它允许你安装、管理和使用多个 Node.js 版本。

nvm for windows 下载、安装及使用

注意!!!在此之前安装过Node,需要卸载当前Node,以免造成冲突

下载安装

nvm地址进入地址后点击下图所示.exe文件,直接下载,下一步式安装方式

使用

切换 nvm 镜像源

ruby 复制代码
nvm node_mirror https://npmmirror.com/mirrors/node/
nvm npm_mirror https://npmmirror.com/mirrors/npm/

安装node

arduino 复制代码
nvm list available // 查看Node包
nvm install 20.9.0 // 选择安装的版本号
nvm use 20.9.0 // 使用安装好的Node

// 设置安装好的npm的镜像源
npm config set registry https://registry.npmmirror.com

Express框架的搭建

Express框架搭建有两种方式,一种是直接通过Express的生成器搭建,另一种是一步步手动搭建,通过项目架构划分来完善。

方式一:Express生成器搭建

less 复制代码
npm install -g express-generator // 安装全局的Express生成器
express myapp // 创建一个项目名为myapp 的Express框架
cd myadd // 进入项目目录
npm i // 安装依赖
npm start // 启动项目

方式二:手动搭建

bash 复制代码
mkdir myapp
cd myapp
npm init -y
npm install express

创建启动服务

ini 复制代码
// 项目文件夹根目录创建 app.js
const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`);
});

此时在项目的终端输入node app.js即可开启服务

nodemon 热部署

每次修改完代码后,总要重启服务,这个时候安装nodemon就可以实现热部署。具体是检测你每次的保存操作来进行重启服务

下载

复制代码
npm install -g nodemon

修改配置文件

使用

arduino 复制代码
// 终端中输入
npm start // 启动热部署
相关推荐
IT_陈寒33 分钟前
React性能优化:10个90%开发者不知道的useEffect正确使用姿势
前端·人工智能·后端
Apifox36 分钟前
如何在 Apifox 中使用 OpenAPI 的 discriminator?
前端·后端·测试
yuuki23323336 分钟前
【数据结构】双向链表的实现
c语言·数据结构·后端
朝新_1 小时前
【SpringBoot】玩转 Spring Boot 日志:级别划分、持久化、格式配置及 Lombok 简化使用
java·spring boot·笔记·后端·spring·javaee
一 乐1 小时前
二手车销售|汽车销售|基于SprinBoot+vue的二手车交易系统(源码+数据库+文档)
java·前端·数据库·vue.js·后端·汽车
用户5965906181341 小时前
在asp.net 控制器传入json对象的格式验证的几种方法
后端
国服第二切图仔1 小时前
Rust入门开发之Rust中如何实现面向对象编程
开发语言·后端·rust
Mos_x2 小时前
15.<Spring Boot 日志>
java·后端
William_cl2 小时前
【ASP.NET MVC 进阶】DataAnnotations 特性验证全解析:从基础到避坑,让数据校验像 “安检“ 一样靠谱
后端·asp.net·mvc
SimonKing2 小时前
你的项目还在用MyBatis吗?或许这个框架更适合你:Easy-Query
java·后端·程序员