新聞中心
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è)。
- npm i -g @nestjs/cli
- 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í)例
- import { Bind, Body, Controller, Get, Param, Post } from '@nestjs/common';
- import { AppService } from './app.service';
- class RequestDTO{}
- class ResponseDTO{}
- @Controller()
- export class AppController {
- constructor(private readonly appService: AppService) {}
- @Get()
- getHello(): string {
- return this.appService.getHello();
- }
- @Get("/find/me/:id")
- @Bind(Param())
- findMe(params): string {
- return this.appService.findMe(params.id);
- }
- @Post('/PostMe')
- async PostMe(@Body() requestDTO: RequestDTO): Promise
{ - const responseDTO = new ResponseDTO();
- return responseDTO;
- }
- }
這里給了一個(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


咨詢
建站咨詢
