NodeJS + Express 第一部分:简介
这里有一系列文章可以帮助您使用 NodeJS + Express 创建后端应用程序。
本系列是我 NodeJS 基础系列的延续。如果你对 NodeJS 还不了解,可以先阅读以下系列:NodeJS 入门
Node.js 如今已成为必需品,因此开发人员必须掌握它。
因此,我将每两天发布一篇新文章,逐渐地您将了解有关 Node.js + Espress 的所有知识
为了不错过任何内容,请在 Twitter 上关注我:https://twitter.com/EricTheCoder_
提醒:什么是 Web 服务器?
Web 服务器是一组硬件和软件,允许访问计算机上存储的托管文件、网页和数据库。
Web 服务器还包含一个 HTTP 服务器。HTTP 服务器是一种通过 HTTP 协议(浏览器用于显示网页的协议)理解/接收 URL 和请求的软件。
最简单的情况是,每当浏览器需要托管在 Web 服务器上的文件或其他内容时,浏览器就会向服务器发出请求(称为发送 HTTP 请求)。当请求到达服务器时,HTTP 服务器会对其进行处理并返回响应。
总而言之,HTTP 服务器看似复杂,但实际上它只是一连串的请求和响应。下文将介绍 NodeJS + Express 可以让你轻松创建 HTTP 服务器,读取请求和发送响应也非常简单。
什么是 ExpressJS
EspressJS 是一个 NodeJS 框架,它使创建 Web 应用程序变得更加容易。确实,何必再重复造轮子呢?使用 ExpressJS,您可以使用多种功能来简化 Web 应用程序的开发并缩短开发时间。使用 Express 创建 HTTP 服务器非常容易。
创建新应用程序
为了充分展示 ExpressJS 的潜力并完全理解所有概念,我们将构建一个全新的 Web 应用程序。
首先创建一个文件夹来托管您的应用程序
$ mkdir demo-express
$ cd demo-express
第一步是创建 package.json 文件。
$ npm init
然后安装 ExpressJS 包和 nodemon
$ npm install express
$ npm nodemon
请注意,正如您在 NodeJS 系列中所了解的,nodemon 包允许您在每次修改代码时重新加载服务器。
API 与 SSR
Express 可用于创建 JSON API 或具有服务器端渲染功能的网站。今天,我们将创建一个 API,这是迄今为止使用 Express 创建的应用程序类型最多。
什么是 API?
API 代表应用程序编程接口。
简而言之,它是一个可以被另一个程序使用的程序,以允许应用程序相互通信。
API 允许服务器和客户端相互通信并交换信息。
例如,客户请求服务器上的特定客户页面:[ www.example.com/customers/3814 Danemark( http://www.example.com/customers/3814 )]
服务器知道如何处理这个请求吗?它不知道。它不知道如何处理这个请求。这就是为什么我们需要创建一个 API。这是一个服务器应用程序,它将决定如何响应针对特定资源的各种请求。在本例中,返回的是客户信息。
您创建的 API 可以在客户数据库中找到记录 3814,将该信息转换为 JSON(结构化文本)格式,然后将此响应返回给客户。
请注意,所有对服务器的请求都是通过 HTTP 操作发出的。
HTTP 请求
您想要对指定资源执行的操作。虽然也会遇到名词,但这些方法通常被称为 HTTP 动词。
以下是最常用的 HTTP 动词/动作
GET:GET 请求仅用于检索数据。
POST:GET 请求用于发送新数据。
PUT:PUT 请求用于修改数据。
PATCH:PATCH 请求用于部分修改数据。
DELETE:DELETE 请求删除指定的数据。
REST 架构
当客户端和服务器相互通信时,情况很快就会失控。
例如,客户可以发出这样的请求:http://www.example/send-me-customer-3804-file或这样的删除请求:http ://www.example.com/delete-customer=3815
服务器如何理解这些不同的请求?为了成功沟通,我们需要标准和约定。
这就是 REST 架构的作用。REST 是一套用于创建客户端和服务器均可使用的 API 的标准。
今天我们不会学习有关 REST 的所有内容,但如果您需要,您可以在网上搜索更多信息。
对于新手来说,重要的是要知道我们构建 API 的方式并非基于个人喜好或观点,而是基于 REST 架构标准。所以遵循这些标准,你就能顺利完成。
CRUD 路由约定
REST 的约定之一就是如何定义路由。每个 CRUD 操作都有相应的标准。
CRUD 代表创建、读取、更新和删除。
当我们处理 API 资源时,例如客户。每个客户端资源都有自己的 CRUD 路由。
以下是这些 REST CRUD 路由的示例:
创建:POST http://www.example.com/customers
阅读:GET http://www.example.com/customers/3814
更新:PUT http://www.example.com/customers/3814
销毁:DELETE http://www.example.com/customer/3814
所以现在你对 API 是什么有了更精确的认识。
在服务器上,API 将公开所有这些路由和功能。在前端,客户端 Web 应用程序将请求这些 API 来获取所需的数据。
也许现在这个概念仍然有点模糊,但当我们构建自己的 API 时,事情就会变得更加清晰。
您的第一个 Express API
创建app.js文件并添加以下代码。
const express = require('express')
const app = express()
app.listen(5000, () => {
console.log('server is listening on port 5000')
})
app.get('/api/products', (req, res) => {
res.json([
{ name: 'iPhone', price: 800 },
{ name: 'iPad', price: 650 },
{ name: 'iWatch', price: 750 }
])
})
在此代码中,app.listen() 将创建一个 HTTP 服务器并读取传入的请求
app.get() 定义一个返回 JSON 产品列表的 URL 路径。
您可以使用以下方式测试此应用
$ npx nodemon app.js
导航到localhost:5000/api/products,您应该看到产品列表的 JSON 表示形式
[
{
"name": "iPhone",
"price": 800
},
{
"name": "iPad",
"price": 650
},
{
"name": "iWatch",
"price": 750
}
]
恭喜,您刚刚使用 NodeJS + Express 创建了您的第一个 API
在接下来的文章中,我们将逐步学习如何创建 NodeJS + Express API 的所有细节。
结论
今天就到这里,请在推特上关注我:https://twitter.com/EricTheCoder_以便收到下一篇文章发布的通知(两天内)。
文章来源:https://dev.to/ericchapman/nodejs-express-part-1-introduction-314a