亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

配置TS + node 的開(kāi)發(fā)環(huán)境

Anshiii / 2811人閱讀

摘要:直接配置的開(kāi)發(fā)環(huán)境還是挺麻煩的,這里我總結(jié)了一套開(kāi)發(fā)模板,可以在用的時(shí)候可以考慮直接這個(gè)項(xiàng)目,項(xiàng)目地址以這個(gè)項(xiàng)目為基礎(chǔ)模板來(lái)開(kāi)發(fā)就行。配置文件是我們配置的閱讀配置文件使我們的代碼檢查配置文件這個(gè)文件主要是繼承了官方推薦的代碼風(fēng)格。

直接配置ts的開(kāi)發(fā)環(huán)境還是挺麻煩的,這里我總結(jié)了一套開(kāi)發(fā)模板,可以在用的時(shí)候可以考慮直接clone這個(gè)項(xiàng)目,
項(xiàng)目地址https://github.com/fish-node/...
以這個(gè)項(xiàng)目 為基礎(chǔ)模板來(lái)開(kāi)發(fā)就行。

$ tree
.
├── README.md
├── jest.config.js
├── package.json
├── src
│?? ├── index.ts
│?? ├── math.ts
│?? └── server.ts
├── test
│?? ├── math.test.ts
│?? └── server.test.ts
├── tsconfig.json
└── tslint.json
ts-node

因?yàn)閠s是建立在js的基礎(chǔ)之上的,但是node又不能直接運(yùn)行ts代碼,實(shí)際使用是往往需要使用tsc將ts代碼編譯成js代碼,這無(wú)疑是很麻煩的。

而ts-node則包裝了node,它可以直接的運(yùn)行ts代碼,使用起來(lái)很方便,它的官方倉(cāng)庫(kù)在這里 https://github.com/TypeStrong... ,基本用法請(qǐng)自行查看它的readme。

我這里就是把ts-node寫到package.json,大家在npm install之后,就可以通過(guò)

$ npx ts-node src/index.ts

這種方式來(lái)運(yùn)行ts代碼,很方便。

然后我們知道node中有個(gè)nodemon,可以在開(kāi)發(fā)時(shí)自動(dòng)的重啟我們的node程序,而在ts-node中,對(duì)應(yīng)的就是ts-node-dev

$ npx ts-node-dev src/index.ts
示例代碼

在src目錄下,我寫了三個(gè)基本的ts代碼

math.ts就是最基本的ts的用法

然后server.js展示了如何使用ts編寫一個(gè)http服務(wù)器

index.ts則展示了ts中的模塊化的使用

測(cè)試框架

然后我使用Jest 作為測(cè)試框架,在test目錄下展示了用Jest + Ts 編寫我們的測(cè)試程序。
運(yùn)行測(cè)試文件的話,可以使用

$ npm run test
@types

@types/node @types/jest 是ts中類型聲明文件,它可以給js編寫的模塊賦予類型系統(tǒng),讓我們享受類型系統(tǒng)的好處。

配置文件

.editorconfig是我們配置IDE的閱讀配置文件

tslint.json使我們的代碼檢查配置文件
這個(gè)文件主要是繼承了官方推薦的代碼風(fēng)格。不過(guò)為了調(diào)試方便,把"no-console"這個(gè)條件設(shè)置為false了

tsconfig.json

然后重點(diǎn)是我們的ts配置文件。

一般來(lái)說(shuō),json文件是不支持注釋的,但是ts官方為了方便,對(duì)這個(gè)文件多帶帶做了加強(qiáng),使得我們可以使用注釋,注釋語(yǔ)法和js中的一樣。

{
    "compilerOptions": {
        "target": "es2018",
        "module": "commonjs",
        "outDir": "./dist/",
        "rootDir": "./src/",
        "strict": true,
        "moduleResolution": "node",
        "esModuleInterop": true,
        "experimentalDecorators": true
    },
    "exclude": ["./test"]
}

其中的target就是編譯后js代碼的版本,因?yàn)槲覀兪莕ode環(huán)境,沒(méi)必要考慮瀏覽器的兼容問(wèn)題,所以大家還是盡量的使用更新的版本吧。

而module選項(xiàng)則是我們的模塊管理機(jī)制,因?yàn)槲覀兊膖s-node目前還不指出es的模塊管理機(jī)制,參考這個(gè)問(wèn)題https://github.com/TypeStrong... ,所以我們還是繼續(xù)使用commonjs規(guī)范。

然后rootDir就是我們的源代碼目錄,outDir就是我們的編譯后代碼的目錄。同時(shí)我們?cè)O(shè)置了exclude這個(gè)選項(xiàng),把我們的測(cè)試文件排除在外。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/104651.html

相關(guān)文章

  • TypeScript在react項(xiàng)目中實(shí)踐

    摘要:前段時(shí)間有寫過(guò)一個(gè)在項(xiàng)目中的實(shí)踐。在里邊有解釋了為什么要使用,以及在中的一個(gè)項(xiàng)目結(jié)構(gòu)是怎樣的。關(guān)于的配置文件,在本項(xiàng)目中存在兩份。一個(gè)需要注意的小細(xì)節(jié)因?yàn)槲覀兊呐c實(shí)現(xiàn)版本中都用到了。 前段時(shí)間有寫過(guò)一個(gè)TypeScript在node項(xiàng)目中的實(shí)踐。 在里邊有解釋了為什么要使用TS,以及在Node中的一個(gè)項(xiàng)目結(jié)構(gòu)是怎樣的。 但是那僅僅是一個(gè)純接口項(xiàng)目,碰巧趕上近期的另一個(gè)項(xiàng)目重構(gòu)也由我...

    Hwg 評(píng)論0 收藏0
  • 使用typescript開(kāi)發(fā)調(diào)試nodejs

    摘要:原文地址這兩天在看也在入門中網(wǎng)上大部分教程都是前端配置開(kāi)發(fā)調(diào)試這個(gè)也有很多相當(dāng)成熟的實(shí)踐教程這篇文章主要是的配置說(shuō)起來(lái)也是相當(dāng)簡(jiǎn)單的不涉及任何的語(yǔ)法與概念同時(shí)也可以根據(jù)本文配置的開(kāi)發(fā)環(huán)境主要是模塊部分的使用說(shuō)起大家應(yīng)該都挺熟悉了是一個(gè) 原文地址 https://github.com/xiadd/blog/issues/8 這兩天在看ts,也在入門中, 網(wǎng)上大部分教程都是前端配置ts開(kāi)發(fā)...

    張春雷 評(píng)論0 收藏0
  • js進(jìn)化,遷徙到typescript

    摘要:我開(kāi)始重新了解一下的現(xiàn)狀,沒(méi)想到已經(jīng)完全走上正軌了,在上已經(jīng)有大量的項(xiàng)目選用,投入生產(chǎn)于是報(bào)著嘗試的心態(tài),開(kāi)始了遷徙。 js進(jìn)化,遷徙到typescript TypeScript 歷史 TypeScript是一種由微軟開(kāi)發(fā)的自由和開(kāi)源的編程語(yǔ)言 它是JavaScript的一個(gè)超集,而且本質(zhì)上向這個(gè)語(yǔ)言添加了可選的靜態(tài)類型和基于類的面向?qū)ο缶幊?2012年十月份,微軟發(fā)布了首個(gè)公開(kāi)版...

    Alan 評(píng)論0 收藏0
  • Angular開(kāi)山篇

    摘要:環(huán)境搭建今天給大家介紹種環(huán)境搭建的方法。官方的地址步驟安裝種子文件沒(méi)有的,可以自己下來(lái),然后打開(kāi),執(zhí)行。使用版本為版本。存放表單相關(guān)內(nèi)置組件與指令。存放網(wǎng)絡(luò)請(qǐng)求相關(guān)的服務(wù)等。等待加載完畢即可。從而實(shí)現(xiàn)了頁(yè)面的顯示 1:環(huán)境搭建 今天給大家介紹4種環(huán)境搭建的方法。 一:Angular-cli的安裝 官方指導(dǎo)文檔:www.angular.cn/guide/quickstart 請(qǐng)使用cn...

    Edison 評(píng)論0 收藏0
  • 使用gulp和vsc構(gòu)建高效typescript開(kāi)發(fā)環(huán)境

    摘要:出于某些原因,近期開(kāi)始需要在公司推廣使用寫服務(wù)端,因?yàn)橹笆褂瞄_(kāi)發(fā)過(guò)多個(gè)個(gè)人項(xiàng)目,所以知道新手開(kāi)發(fā)非常容易將代碼寫的散亂并且不易后人理解。所以折中的選擇了開(kāi)發(fā),也就用起了。 出于某些原因,近期開(kāi)始需要在公司推廣使用nodejs寫服務(wù)端,因?yàn)橹笆褂胑s6開(kāi)發(fā)過(guò)多個(gè)個(gè)人項(xiàng)目,所以知道新手開(kāi)發(fā)node非常容易將代碼寫的散亂并且不易后人理解。本人剛?cè)胄械臅r(shí)候做的是java,覺(jué)得強(qiáng)類型的語(yǔ)言更...

    JerryZou 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<