成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

Anshiii / 2793人閱讀

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

直接配置ts的開發(fā)環(huán)境還是挺麻煩的,這里我總結(jié)了一套開發(fā)模板,可以在用的時候可以考慮直接clone這個項目,
項目地址https://github.com/fish-node/...
以這個項目 為基礎(chǔ)模板來開發(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

因為ts是建立在js的基礎(chǔ)之上的,但是node又不能直接運行ts代碼,實際使用是往往需要使用tsc將ts代碼編譯成js代碼,這無疑是很麻煩的。

而ts-node則包裝了node,它可以直接的運行ts代碼,使用起來很方便,它的官方倉庫在這里 https://github.com/TypeStrong... ,基本用法請自行查看它的readme。

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

$ npx ts-node src/index.ts

這種方式來運行ts代碼,很方便。

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

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

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

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

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

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

測試框架

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

$ npm run test
@types

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

配置文件

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

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

tsconfig.json

然后重點是我們的ts配置文件。

一般來說,json文件是不支持注釋的,但是ts官方為了方便,對這個文件多帶帶做了加強,使得我們可以使用注釋,注釋語法和js中的一樣。

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

其中的target就是編譯后js代碼的版本,因為我們是node環(huán)境,沒必要考慮瀏覽器的兼容問題,所以大家還是盡量的使用更新的版本吧。

而module選項則是我們的模塊管理機制,因為我們的ts-node目前還不指出es的模塊管理機制,參考這個問題https://github.com/TypeStrong... ,所以我們還是繼續(xù)使用commonjs規(guī)范。

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

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/104651.html

相關(guān)文章

  • TypeScript在react項目中實踐

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

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

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

    張春雷 評論0 收藏0
  • js進化,遷徙到typescript

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

    Alan 評論0 收藏0
  • Angular開山篇

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

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

    摘要:出于某些原因,近期開始需要在公司推廣使用寫服務(wù)端,因為之前使用開發(fā)過多個個人項目,所以知道新手開發(fā)非常容易將代碼寫的散亂并且不易后人理解。所以折中的選擇了開發(fā),也就用起了。 出于某些原因,近期開始需要在公司推廣使用nodejs寫服務(wù)端,因為之前使用es6開發(fā)過多個個人項目,所以知道新手開發(fā)node非常容易將代碼寫的散亂并且不易后人理解。本人剛?cè)胄械臅r候做的是java,覺得強類型的語言更...

    JerryZou 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<