在开发前端项目时,我们经常需要使用到服务器端框架,而 Express 是一个广泛使用的 Node.js 服务器端框架,它让构建 Web 应用程序变得更加简单和快速。在 Express 中,express()
函数是 Web 应用程序的入口点,它返回一个 Express 应用程序对象。expressts-core 是一个专门为 TypeScript 设计的 Express 核心包,可以为开发者提供 Express 的类型支持和高级抽象工具,让 TypeScript 与 Express 相互协作更加省心无忧。
本文主要介绍如何使用 npm 包 expressts-core,让你更加轻松愉快地开发 TypeScript 与 Express 应用程序。
安装
安装 expressts-core 可以使用 npm 或 yarn,以下是安装命令:
npm install expressts-core --save yarn add expressts-core
如何使用
在 TypeScript 的 Web 应用程序中,我们需要初始化 Express 应用程序并配置路由使其能够响应 HTTP 请求。为了获得 TypeScript 的类型支持,我们需要首先导入 express
, body-parser
和 expressts-core
包,这里先介绍 expressts-core
的使用方法。
创建 Express 应用程序和路由
首先,在 TypeScript 文件中导入 express
, body-parser
和 expressts-core
包:
import express from 'express'; import bodyParser from 'body-parser'; import { IExpressApplication } from 'expressts-core';
使用 IExpressApplication
接口类型定义 app
变量,并通过调用 express()
函数创建一个新的 Express 应用程序:
const app: IExpressApplication = express();
接下来,为了能够解析请求消息体,我们需要使用 body-parser
库,在 app
中使用中间件来添加解析程序:
app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true }));
现在,我们已经完成了一个基本的 Express 应用程序设置,接下来我们需要添加一些路由以便应用程序能够响应 HTTP 请求。
添加路由
在 Express 中,使用路由定义处理特定 URL 调用时要执行的代码。以下示例演示如何为 GET、POST、PUT和 DELETE 动词创建路由:
-- -------------------- ---- ------- ------------ ----- ---- -- - --------------- --------- --- ------------- ----- ---- -- - ---------------------- ------------- - ---- ---------- --- ---------------- ----- ---- -- - ------------- - --- ------- -- -------- --- ------------------- ----- ---- -- - ------------- - ------ ------- -- -------- ---
路由参数
在 Express 中,路由参数用于从 URL 中提取值,通过 :
符号将参数名与路由路径分隔。以下示例演示如何使用路由参数:
app.get('/users/:userId/books/:bookId', (req, res) => { res.send(req.params); });
静态文件
在 Express 中,可以提供静态资源,如 HTML、图像、CSS 和 JavaScript 文件,通过设置 express.static
中间件来处理:
app.use(express.static('public'));
这将为使用者提供一个静态文件服务,使得访问 http://localhost:3000/images/kitten.jpg
将返回在 public/images/kitten.jpg
中找到的图像。
总结
本教程介绍了如何使用 npm 包 expressts-core,创建 TypeScript 与 Express 应用程序和路由,传递参数和提供静态资源。详细了解这些内容,让开发者更加轻松愉快地在 TypeScript 中使用 Express 应用程序,使得后端服务开发变得更加高效和质量更好。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055e2881e8991b448dbaa2