Node.js 和 TypeScript 教程:使用 Typescript、NodeJS 和基于文件的存储系统构建 rest API。

欢迎到我的博客!在本教程中,我将指导您完成使用 Node.js、Express 和 TypeScript 构建强大的微型电子商务 API 的过程。我们将一起探讨各种功能和技术,这些功能和技术将使您能够为电子商务应用程序创建强大的 API。

我们在这个项目中的一个关键决定是实现一个基于文件的存储系统,而不是依赖像 MongoDB 这样的传统数据库。这种方法简单易行,非常适合规模较小的应用程序或可能不需要成熟的数据库管理系统的场景。

本教程将涵盖基本主题,例如用户管理、产品处理和身份验证。

您将获得使用跨越用户和产品数据的功能的实践经验,展示这些实体如何在电子商务 API 中交互。在本教程结束时,您将全面了解如何构建强大的 API,从而实现与用户和产品资源的无缝交互。

因此,加入我这一激动人心的旅程,我们将深入研究使用 Node.js、Express 和 TypeScript 创建微型电子商务 API。

在 Node.js 中开始使用 TypeScript
首先创建一个如下所示的项目目录。

接下来,通过使用以下命令创建具有默认设置的 package.json 文件,在项目目录中初始化 Node.js 项目:

npm init -y

安装项目依赖

您的 Node.js 项目需要一些依赖项才能使用 TypeScript 创建安全的 Express 服务器。像这样安装它们:

npm i express dotenv helmet cors http-status-codes uuid bcryptjs
要使用 TypeScript,您还需要安装稳定版本的 TypeScript 作为开发者依赖项:

npm i -D typescript

要有效地使用 TypeScript,您需要为之前安装的包安装类型定义:

<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code>npm i -D @types/express @types/dotenv @types/helmet @types/cors @types/http-status-codes @types/uuid @types/bcryptjs
</code></span></span>

使用以下定义服务器可用于侦听请求的端口的变量填充 .env 隐藏文件:

<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code>PORT=7000
</code></span></span>

接下来,在 src 文件夹的根目录中找到 app.js 文件并导入您之前安装的项目依赖项,并使用 dotenv.config() 方法从本地 .env 文件加载任何环境变量:

<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code>import express from "express"
import * as dotevnv from "dotenv"
import cors from "cors"
import helmet from "helmet"

dotevnv.config()

if (!process.env.PORT) {
    console.log(`No port value specified...`)
}

const PORT = parseInt(process.env.PORT as string, 10)

const app = express()

app.use(express.json())
app.use(express.urlencoded({extended : true}))
app.use(cors())
app.use(helmet())

app.listen(PORT, () => {
    console.log(`Server is listening on port ${PORT}`)
})
</code></span></span>

在此代码片段中,使用 Express 框架设置了一个 Node.js 应用程序。这是正在发生的事情的细分:

导入所需的模块:

express被导入作为构建 Web 应用程序的主要框架。

导入dotenv以处理环境变量。

导入cors以启用跨源资源共享。

导入helmet以将安全标头添加到 HTTP 响应。

该代码检查是否定义了 PORT 环境变量。如果没有,一条消息将记录到控制台。

使用 parseInt() 将 PORT 变量从字符串解析为整数。

Express 应用程序的实例是使用 express() 创建的,并分配给 app 变量。

中间件功能添加到 Express 应用程序:

express.json()用于解析传入请求的 JSON 主体。

express.urlencoded({extended : true})用于解析传入请求的 URL 编码主体。

cors()用于启用跨源资源共享。

helmet()用于通过设置各种 HTTP 标头来增强应用程序的安全性。

Express 应用程序通过调用 app.listen() 开始监听指定的端口。服务器运行后,一条指示端口号的消息将记录到控制台。

改进 TypeScript 开发工作流程

TypeScript 编译过程会增加应用程序的引导时间。但是,只要源代码发生变化,您就不需要重新编译整个项目。您可以设置 ts-node-dev 以显着减少进行更改时重新启动应用程序所需的时间。

首先安装此软件包以启动您的开发工作流程:

npm i -D ts-node-dev

ts-node-dev 在任何所需文件更改时重新启动目标 Node.js 进程。但是,它在重启之间共享 Typescript 编译过程,这可以显着提高重启速度。

您可以在 package.json 中创建一个开发 npm 脚本来运行您的服务器。像这样更新你的 package.json 文件。

{
"name": "typescript-nodejs&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值