使用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
相关推荐
栈老师不回家5 分钟前
Vue 计算属性和监听器
前端·javascript·vue.js
前端啊龙11 分钟前
用vue3封装丶高仿element-plus里面的日期联级选择器,日期选择器
前端·javascript·vue.js
一颗松鼠15 分钟前
JavaScript 闭包是什么?简单到看完就理解!
开发语言·前端·javascript·ecmascript
小远yyds35 分钟前
前端Web用户 token 持久化
开发语言·前端·javascript·vue.js
阿伟来咯~1 小时前
记录学习react的一些内容
javascript·学习·react.js
吕彬-前端1 小时前
使用vite+react+ts+Ant Design开发后台管理项目(五)
前端·javascript·react.js
学前端的小朱2 小时前
Redux的简介及其在React中的应用
前端·javascript·react.js·redux·store
guai_guai_guai2 小时前
uniapp
前端·javascript·vue.js·uni-app
也无晴也无风雨2 小时前
在JS中, 0 == [0] 吗
开发语言·javascript
王哲晓3 小时前
第三十章 章节练习商品列表组件封装
前端·javascript·vue.js