当前位置: 首页 > 科技观察

使用TypeScript构建企业应用

时间:2023-03-23 10:30:45 科技观察

TypeScript:始于JavaScript,属于JavaScript。TypeScript从当今数百万JavaScript开发人员熟悉的语法和语义开始。使用现有的JavaScript代码,包括流行的JavaScript库,并从JavaScript代码调用TypeScript代码。TypeScript可以编译出纯净、简洁的JavaScript代码,可以运行在任何浏览器、Node.js环境以及任何支持ECMAScript3(或更高版本)的JavaScript引擎上。从TypeScript的官方介绍来看,很多前端团队已经使用了JavaScript,并期待着引入一个企业级的后端应用。以前我们选择的是一些基于Node.js的web框架,比如Django。今天给大家分享另一个选择,NestJS,一个基于Node.js&TypeScript的企业级应用框架。为什么要使用TypesScript?核心原因是TypeScript是JavaScript的超集。对于已经熟悉JavaScript的同学来说,入门门槛并不算高。这也将允许前端学生在愿意的情况下接触后端应用程序。今天主要讲一下如何使用NestJS搭建企业级应用,同时也描述一下前端同学在编写后端应用时的一些核心误区。首先,我假设你已经安装了Node.JS和NPM。NestJS只有一个安装步骤。npmi-g@nestjs/clinestnewaric-nestNestJS会为我们创建一个名为aric-nest的项目,让我们来看看项目结构。我们的主要文件之一是src,我们所有的源代码都将放在其中。二是package.json项目打包&依赖管理文件。我们所有的打包脚本和依赖管理都会在这里完成。一般这个文件不需要自己改。与所有Node.js项目一样,我们的入口点是main.js。可以看出main.js的逻辑很简单,就是新建一个App,并以3000端口启动。代码示例(privatereadonlyappService:AppService){}@Get()getHello():string{returnthis.appService.getHello();}@Get("/find/me/:id")@Bind(Param())findMe(params):string{returnthis.appService.findMe(params.id);}@Post('/PostMe')asyncPostMe(@Body()requestDTO:RequestDTO):Promise{constresponseDTO=newResponseDTO();returnresponseDTO;}}在这里给出了一个Get示例,一个restful接口的示例,以及一个基于JSON的Post示例。可以看到TypeScript支持依赖注入解释器(在Java中称为注解)。具体操作可以自己完成。如何使用数据库和缓存?既然涉及到企业级应用,最经典的后端存储系统无非就是关系型数据库和缓存。这是我们不可避免的一部分。在TypeScript中,我们可以使用TypeORM进行数据库操作,使用ioredis进行Redis操作。如何使用定时任务?定时任务也是很常见的内容,直接使用@nestjs/schedule即可。如何向外部发送http请求?直接用axios就行了,很靠谱的http模块。如何限制电流?express-rate-limit实现全局频率流量控制。至于接口级、IP级、分布式限流怎么实现,估计得自己实现一个比较靠谱的了。到目前为止,我还没有看到一个非常好的。完成。作为介绍,先写到这里,先消化消化,再酱。