日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
用TypeScript構(gòu)建企業(yè)級應(yīng)用

TypeScript:始于JavaScript,歸于JavaScript。

綦江網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

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

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

來自 TypeScript 官方介紹

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

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

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

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

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

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

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

代碼實(shí)例

 
 
 
 
  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
  23.     const responseDTO  = new ResponseDTO(); 
  24.     return responseDTO; 
  25.   }  

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

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

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

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

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

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

直接使用 Axios 即可,是一個(gè)非??孔V的 http 模塊。

如何進(jìn)行限流?

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

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


網(wǎng)站名稱:用TypeScript構(gòu)建企業(yè)級應(yīng)用
URL鏈接:http://www.dlmjj.cn/article/cooigeo.html