自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用TypeScript構(gòu)建企業(yè)級應(yīng)用

開發(fā) 前端
TypeScript從今天數(shù)以百萬計的JavaScript開發(fā)者所熟悉的語法和語義開始。使用現(xiàn)有的JavaScript代碼,包括流行的JavaScript庫,并從JavaScript代碼中調(diào)用TypeScript代碼。

[[428098]]

TypeScript:始于JavaScript,歸于JavaScript。

TypeScript從今天數(shù)以百萬計的JavaScript開發(fā)者所熟悉的語法和語義開始。使用現(xiàn)有的JavaScript代碼,包括流行的JavaScript庫,并從JavaScript代碼中調(diào)用TypeScript代碼。

TypeScript可以編譯出純凈、 簡潔的JavaScript代碼,并且可以運行在任何瀏覽器上、Node.js環(huán)境中和任何支持ECMAScript 3(或更高版本)的JavaScript引擎中。

來自 TypeScript 官方介紹

在很多前端團隊,已經(jīng)使用了 JavaScript 的情況下,期待引入一個企業(yè)級后端應(yīng)用,以前我們的選擇是基于 Node.js 的一些 Web 框架,比如 Django。今天跟大家分享另外一個可供選擇的選項,基于 Node.js & TypeScript 的企業(yè)級應(yīng)用框架 NestJS。

為什么使用 TypesScript ,核心原因是 TypeScript 是 JavaScript 的一個超集,對于已經(jīng)熟悉 JavaScript 的同學(xué)來說,上手門檻不會太高,這樣也可以讓前端同學(xué)在有意愿的情況下,接觸到后端的應(yīng)用,今天主要聊聊怎么用 NestJS 構(gòu)建企業(yè)級應(yīng)用,也順便描述一下前端同學(xué)在寫后端應(yīng)用一些比較核心的誤區(qū)。

首先我假設(shè)你已經(jīng)安裝好了 Node.JS 和 NPM ,NestJS 的安裝步驟只有一個。

  1. npm i -g @nestjs/cli 
  2. nest new aric-nest 

這樣NestJS 就會給我們創(chuàng)建好了一個名為 aric-nest 的項目,讓我們看一眼項目結(jié)構(gòu)。

我們最主要的文件一個是 src ,我們所有的源代碼都會放在這里。第二個就是 package.json 項目打包&依賴管理文件了,我們所有的打包腳本以及依賴管理都會在這里完成,這個文件一般不需要自己改動。

跟所有 Node.js 項目一樣,我們的入口是 main.js,可以看出,main.js 的邏輯非常簡單,就是創(chuàng)建一個新的 App,然后用 3000 端口啟動它。

代碼實例

  1. import { Bind, Body, Controller, Get, Param, Post } from '@nestjs/common'
  2. import { AppService } from './app.service'
  3. class RequestDTO{} 
  4. class ResponseDTO{} 
  5.  
  6. @Controller() 
  7. export class AppController { 
  8.   constructor(private readonly appService: AppService) {} 
  9.  
  10.   @Get() 
  11.   getHello(): string { 
  12.     return this.appService.getHello(); 
  13.   } 
  14.  
  15.   @Get("/find/me/:id"
  16.   @Bind(Param()) 
  17.   findMe(params): string { 
  18.     return this.appService.findMe(params.id); 
  19.   } 
  20.  
  21.   @Post('/PostMe'
  22.   async PostMe(@Body() requestDTO: RequestDTO): Promise<ResponseDTO>{ 
  23.     const responseDTO  = new ResponseDTO(); 
  24.     return responseDTO; 
  25.   }  

這里給了一個 Get 例子,一個 restful 接口的例子,還有一個基于JSON 的 Post的例子。 可以看到 TypeScript 是支持依賴注入解釋器的(Java 里面叫注解)。具體的操作大家自行進行操作即可。

如何使用數(shù)據(jù)庫和緩存?

既然說到企業(yè)級應(yīng)用,最經(jīng)典的后端存儲系統(tǒng)不外乎關(guān)系型數(shù)據(jù)庫和緩存,這是我們不可避免的部分。在 TypeScript 里,我們可以使用 TypeORM 進行數(shù)據(jù)庫操作,使用 ioredis 進行 Redis 操作。

如何使用定時任務(wù)?

定時任務(wù)也是一個非常常見的內(nèi)容,直接使用 @nestjs/schedule 即可。

如何對外發(fā)送 http 請求?

直接使用 Axios 即可,是一個非常靠譜的 http 模塊。

如何進行限流?

express-rate-limit 實現(xiàn)了一個全局頻率流控,至于如何進行接口級別,IP 級別,分布式限流,我估計還得自己實現(xiàn)一個比較靠譜,目前沒有看到非常好的實現(xiàn)。

作為入門,先寫到這里,先消化消化,就醬。

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2009-01-03 14:54:36

ibmdwWebSphere

2009-06-03 14:24:12

ibmdwWebSphere

2012-06-14 13:26:22

2013-09-30 10:19:46

SAP

2010-01-04 16:38:07

企業(yè)級Silverli

2024-05-20 11:23:18

2022-05-24 20:06:08

開源應(yīng)用現(xiàn)代化數(shù)字化轉(zhuǎn)型

2012-05-14 09:29:40

云應(yīng)用

2012-05-15 15:21:29

企業(yè)級

2011-12-01 15:29:07

2013-04-26 15:13:26

Ted YuHBase大數(shù)據(jù)全球技術(shù)峰會

2015-05-26 09:41:45

china-pub

2023-09-11 12:57:00

大數(shù)據(jù)大數(shù)據(jù)中臺

2009-12-14 20:13:57

IBM

2010-10-19 08:59:40

PHP緩存技術(shù)

2012-06-26 15:23:58

2013-07-02 13:53:48

App企業(yè)級應(yīng)用

2009-07-07 14:19:54

2012-06-14 13:23:32

企業(yè)級移動應(yīng)用移動信息化

2019-03-05 12:56:41

APP企業(yè)級應(yīng)用應(yīng)用程序
點贊
收藏

51CTO技術(shù)棧公眾號