使用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
相关推荐
2401_878454532 小时前
浏览器工作原理
前端·javascript
by__csdn4 小时前
Vue3 setup()函数终极攻略:从入门到精通
开发语言·前端·javascript·vue.js·性能优化·typescript·ecmascript
天天扭码4 小时前
前端如何实现RAG?一文带你速通,使用RAG实现长期记忆
前端·node.js·ai编程
Luna-player4 小时前
在前端中,<a> 标签的 href=“javascript:;“ 这个是什么意思
开发语言·前端·javascript
lionliu05195 小时前
js的扩展运算符的理解
前端·javascript·vue.js
小草cys5 小时前
项目7-七彩天气app任务7.4.2“关于”弹窗
开发语言·前端·javascript
前端一小卒7 小时前
一个看似“送分”的需求为何翻车?——前端状态机实战指南
前端·javascript·面试
syt_10137 小时前
Object.defineProperty和Proxy实现拦截的区别
开发语言·前端·javascript
长安牧笛7 小时前
儿童屏幕时间管控学习引导系统,核心功能,绑定设备,设时长与时段,识别娱乐,APP超时锁屏,推荐益智内容,生成使用报告,学习达标解锁娱乐
javascript
栀秋6667 小时前
深入浅出链表操作:从Dummy节点到快慢指针的实战精要
前端·javascript·算法