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 // 启动热部署
相关推荐
Apifox13 小时前
Apifox CLI + Claude Skills:将接口自动化测试融入研发工作流
前端·后端·测试
调试人生的显微镜13 小时前
使用Fiddler抓包工具获取微信公众号数据的完整教程
后端
货拉拉技术14 小时前
性能突破:星图平台架构优化
后端
UIUV14 小时前
Git 提交规范与全栈AI驱动开发实战:从基础到高级应用
前端·javascript·后端
程序员清风14 小时前
猿辅导二面:线上出现的OOM是如何排查的?
java·后端·面试
DCTANT14 小时前
【原创】使用更优雅的方式改造MyBatisPlus逻辑删除插件
spring boot·后端·mysql·kotlin·mybatis·mybatisplus
上进小菜猪14 小时前
基于 YOLOv8 的太阳能电池片缺陷智能检测识别实战 [目标检测完整源码]
后端
Rysxt_15 小时前
Go语言:现代编程的效率与并发之选
开发语言·后端·golang
Mr -老鬼15 小时前
Rust 知识图-谱基础部分
开发语言·后端·rust
袁慎建@ThoughtWorks15 小时前
如何发布自定义 Spring Boot Starter
java·spring boot·后端