← 返回蜂巢洞察

使用 TypeScript 在 Express 中构建防篡改的 API

如果你曾经很喜欢使用Express.js来快速构建后端服务器,但又希望不必去猜测数据类型或调试那些繁琐的运行时错误,那么我们刚刚为你准备了一篇非常实用的教程。 我们的新视频课程《在Express中使用TypeScript》已经登陆freeCodeCamp.org的YouTube频道啦! 在这门实践性很强的教程中,讲师Rachel会一步步指导你如何将Express与TypeScript结合使用,让你同时享受到两者的优势:Express带来的快速开发效率,以及TypeScript所提供的类型安全性、可扩展性和稳定性。 在整个课程中,你将从零开始构建一个完全符合类型规范、可用于生产环境的爱宠收容所A

如果你曾经很喜欢使用Express.js来快速构建后端服务器,但又希望不必去猜测数据类型或调试那些繁琐的运行时错误,那么我们刚刚为你准备了一篇非常实用的教程。

我们的新视频课程《在Express中使用TypeScript》已经登陆freeCodeCamp.org的YouTube频道啦!

在这门实践性很强的教程中,讲师Rachel会一步步指导你如何将Express与TypeScript结合使用,让你同时享受到两者的优势:Express带来的快速开发效率,以及TypeScript所提供的类型安全性、可扩展性和稳定性。

在整个课程中,你将从零开始构建一个完全符合类型规范、可用于生产环境的爱宠收容所API。在学习过程中,你将掌握以下内容:

  • 环境配置:设置TypeScript的相关选项,配置编译器参数(如`tsconfig.json`文件),并管理诸如`@types/express`这样的开发依赖库。

  • 请求与响应类型的定义:利用TypeScript的泛型功能,严格规定路由参数、请求数据以及响应内容的类型,从而避免使用令人头疼的`any`类型。

  • 模块化架构设计:将应用程序的不同功能模块分离出来,分别用专门的Express路由器和控制器来处理它们。

  • 自定义中间件:从零开始编写自己的中间件函数,包括输入验证逻辑和身份认证机制。

  • 查询参数的处理:学会如何处理字符串、布尔值以及数值类型的查询参数,使你的API具备更高的灵活性和实用性。

无论你是想进一步提升自己的后端开发技能,还是希望为你的Node.js项目增添更强的类型安全性,这门课程都为你提供了大量的实践挑战和编程练习,帮助你不断进步。

请在freeCodeCamp.org的YouTube频道观看完整教程:点击观看(时长1小时)。

相关文章

技术实践

面向初学者的Node.js与Express.js使用指南——服务器、路由机制以及视图处理方法的详细讲解

Node.js是一种用于在浏览器之外执行JavaScript的运行时环境。无论是小型脚本还是大规模的后端应用程序,Node.js都提供了构建适用于各种环境的JavaScript应用所需的API和工具。 然而,学习Node.js可能会让人感到不知所措。由于有太多需要理解的API、包、工具和概念,人们很容易迷失方向。 正因为如此,这本书重点讲解了构建实际应用所需的基础Node.js知识,避免了不必要的干扰。你将了解到Node.js的工作原理,如何使用其内置的API,以及如何创建能够处理文件、URL、事件、HTTP请求等功能的应用程序。 你还会学习到Express.js是如何简化许多常见的服务器端任

阅读全文
技术实践

如何将应用程序从AWS迁移到GKE [完整指南]

这个指导性实验将带你了解如何迁移一个小型支付应用。该应用包含使用React开发的用户界面以及运行在AWS EC2实例上的Express API,而数据库则仍保存在AWS上。 你需要将用户界面和API迁移到Google Kubernetes Engine上,但无需更改客户目前使用的公共URL地址,而是逐步将流量从AWS转移至GKE,每次转移的比例为几百分比。 完成整个迁移过程后,你将能够在本地运行该应用,在AWS上搭建基础设施,通过八个Terraform步骤在GKE上构建环境,测试新环境是否正常工作,然后将生产环境的流量全部转移到GKE上,完成切换流程,并拆除不再需要的资源。 下图展示了迁移过程

阅读全文
技术实践

如何在实际地图上构建灾难模拟场景:利用 Mapbox GL JS 和 Three.js 技术实现动画效果的画布层以及可坍塌的 3D 建筑模型

在某些情况下,地图项目所需要的不仅仅是标记和多边形。你希望地图上能够出现一些动态效果:水沿着街道流动、烟雾随风飘散,或者冲击波从某个点扩散开来。 我第一次尝试实现这些效果时,做了我觉得理所当然的事情——我在地图上方添加了一个 元素,然后在上面绘制动画效果。 但结果看起来很不对劲,无论我怎么调整也无法改善这个问题。那些动画效果边缘分明,而且似乎“漂浮”在地面之上;每当我想倾斜或旋转地图时,这些动画就会与下方的地图内容对不上位。 我在开发 HazardSim 这个浏览器模拟器时遇到了这个问题。在这个模拟器中,自然灾害会在真实的地图上发生。海啸场景经历了大约十几次的修改,才终于不再看起来像是一张被贴

阅读全文
技术实践

“从设计层面确保安全性”:在编写任何代码之前,如何将安全机制纳入系统架构之中

在大多数工程团队中,都会进行这样的对话——不过往往为时已晚。 想象一下:某个功能被部署到生产环境中之后,才会进行安全审查;或者在进行渗透测试时发现了问题;更糟糕的是,还会收到事故报告。 这些漏洞确实是存在的,修复它们也需要投入大量成本。而在这些讨论中,总会有人说:“我们需要为这个功能添加安全措施。” 但这个问题就出在这里:安全并不是事后才添加到软件中的东西,而应该从项目一开始就被纳入设计之中。一旦开始考虑为已经存在的东西添加安全功能,那就意味着你已经进入了“事故应对模式”。 “安全驱动设计”是一种完全不同的思维方式——在制定架构决策之前,就应该明确安全要求;在编写任何代码之前,就必须了解潜在的

阅读全文