使用Node.js 框架( Express.js)来创建一个简单的 API 端点

文章目录

  • [使用Node.js 框架( Express.js)来创建一个简单的 API 端点](#使用Node.js 框架( Express.js)来创建一个简单的 API 端点)

使用Node.js 框架( Express.js)来创建一个简单的 API 端点

什么是express

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

许多流行的开发框架都基于Express 构建。

1、基本概念

在 Express 中,有几个核心概念需要了解:

  • Application:应用程序对象,它是 Express 框架创建的实例。
  • Request:请求对象,它包含了客户端请求的所有信息,例如 URL、HTTP 方法、头信息等。
  • Response:响应对象,它包含了将要发送给客户端的信息,例如响应状态码、头信息、响应体等。
  • Middleware:中间件是一种可复用的代码,它可以处理请求和响应。中间件可以执行各种任务,例如路由处理、身份验证、日志记录等。

2、核心功能

Express 的核心功能包括:

  • 路由:Express 提供了一种方便的方式来定义路由,可以处理不同的 URL 路径和 HTTP 方法。
  • 中间件:Express 支持各种中间件,可以用于处理请求和响应。
  • 模板引擎:Express 支持各种模板引擎,可以用于创建动态页面。
  • 数据库操作:Express 可以方便地进行数据库操作,例如查询、插入、更新等。
  • 错误处理:Express 提供了一种方便的方式来处理错误,可以统一处理异常和错误。

安装

在你新建的目录下安装 Express

bash 复制代码
npm install express --save

修改代码 express 自动刷新

思路:使用 nodemon 自动重启。

Nodemon 是一个帮助开发基于 Node.js 的应用程序的工具,它可以在检测到目录中的文件变更时自动重新启动节点应用程序。

官方链接:https://github.com/remy/nodemon

监控node.js应用程序中的任何更改并自动重新启动服务器 - 非常适合开发

安装到本地

bash 复制代码
npm install --save-dev nodemon

修改 package.json,增加 dev 命令,使用 nodemon 启动,其它都不用改

javascript 复制代码
{
  ...
  "scripts": {
    "dev": "nodemon src/main.js",
    "start": "node src/main.js"
  }
  ...
}

配置好后,使用 npm run dev 启动服务,nodemon 会检测文件改动自动重启服务器,这样你不用再频繁的重启服务。

如果你需要排除一些文件的监控,比如仅检测 src 目录下的 js 文件,并忽略测试代码,可以添加 nodemon 的配置文件 nodemon.json

bash 复制代码
{
  "watch": ["src/"],
  "ext": "js",
  "ignore": ["*.test.js", "*.spec.js"]
}

也可以使用命令行参数:

  • --watch 监视多个目录
    默认情况下,nodemon 监视当前工作目录。如果要控制该选项,请使用该 --watch 选项添加特定路径:
bash 复制代码
nodemon --watch app --watch libs app/server.js

现在,只有当 ./app or ./libs 目录中有更改时,nodemon 才会重新启动。默认情况下,nodemon 将遍历子目录,因此无需显式包含子目录。

  • --ext 指定扩展监视列表
    nodemon -e js,pug nodemon 将对扩展名为 .js , .pug 进行任何更改时重新启动。
  • --ignore 忽略文件
    默认情况下,nodemon 只会在 .js JavaScript 文件更改时重新启动。在某些情况下,您需要忽略某些特定的文件、目录或文件模式,以防止 nodemon 过早地重新启动您的应用程序。
bash 复制代码
nodemon --ignore lib/ --ignore tests/

或者可以忽略特定文件:

bash 复制代码
nodemon --ignore lib/app.js
相关推荐
前端Hardy20 分钟前
前端必看!LocalStorage这么用,再也不踩坑(多框架通用,直接复制)
前端·javascript·面试
前端Hardy21 分钟前
前端必看!前端路由守卫这么写,再也不担心权限混乱(Vue/React通用)
前端·javascript·面试
竹林81843 分钟前
从ethers.js迁移到Viem:我在重构DeFi前端时踩过的那些坑
前端·javascript
码云之上1 小时前
上下文工程实战:解决多轮对话中的"上下文腐烂"问题
前端·node.js·agent
前端郭德纲1 小时前
JavaScript Object.freeze() 详解
开发语言·javascript·ecmascript
希望永不加班2 小时前
SpringBoot 静态资源访问(图片/JS/CSS)配置详解
java·javascript·css·spring boot·后端
m0_738120722 小时前
渗透基础知识ctfshow——Web应用安全与防护(第一章)
服务器·前端·javascript·安全·web安全·网络安全
持续前行2 小时前
通过 npm 下载node_modules 某个依赖 ;例如 下载 @rollup/rollup-linux-arm64-gnu
前端·javascript·vue.js
Embrace9242 小时前
React Native + Realm 离线方案处理
javascript·react native·react.js·realm