iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0

上一篇提到下了 tsc --init 指令之後會創建出一個 tsconfig.json 的檔案,這個檔案設定了你要如何編譯 TypeScript 的檔案,今天就來介紹一下如何設定。

點進去 tsconfig.json 之後會看到很~多選項:
https://ithelp.ithome.com.tw/upload/images/20210917/20131989h2DLV7UDJ6.png
(下面還有很多)

不過其實大部分的選項都不是非常的必要 XD,這邊介紹幾個比較常用到跟有趣的選項。

  1. "target": "es5" : 這個選項是在設定要編譯成哪一個版本的 JavaScript,目前預設的是 es5。
  2. "lib": [] : 當這個選項是被註解起來時,代表會有一些默認的設定,比如說如果上面的 target 設定成 es6 的話,就會默認可以使用 es6 才有的 Map(),也會默認所有的 DOM API等等,所以上述的東西都可以直接在 TypeScript 的檔案使用,但是如果把註解拿掉之後就必須得放要默認的內容比如說 es6dom 進去才會生效,所以總結,請保留它的註解 XD。
  3. "sourceMap": true : 這個選項是在編譯之後會多一個 .map 的檔案,讓你能在瀏覽器的 Source 裡面同步看到 .ts 的檔案,而不只有編譯過後的 .js 檔,有助於在瀏覽器 debug 時選擇閱讀比較好閱讀的程式碼。
  4. "outDir": "./" : 在比較大型的專案通常都會有 src 跟 dist 這兩種資料夾來管理檔案,src 裡面會放的是 .ts 檔案,dist 裡面放的是編譯過後的 .js 檔案。"outDir" 選項就是在設定編譯過後的 .js 檔要放去哪裡,這邊就能夠設定成 "outDir": "./dist"
  5. "rootDir": "./" : 設定放 .ts 檔的根目錄,並且會確保 tsc 在編譯 .ts 檔到 "outDir" 選項指定的資料夾時的資料夾結構會跟 "rootDir" 一致。
  6. "removeComments": true : 這個選項打開時,原本在 .ts 檔裡頭所有的註解都不會在編譯後的 .js 檔看到。
  7. "noEmitOnError": true : 這個選項在沒有打開的時候,即使 .ts 檔有錯誤,但是只要執行 tsc 指令就還是會編譯成 .js 的檔案。但是如果把這個選項打開之後,只要有某一個 .ts 檔裡面有錯誤,所有的 .ts 檔通通都不會編譯成 .js 檔,必須先把錯誤處理好才行。

以上簡單介紹了幾個 config 的選項,如果對其他選項有興趣的朋友可以到 TSConfig Reference 去瞧瞧~

第三天的學習筆記先到這邊,謝謝閱讀~


上一篇
Day 2 set up
下一篇
Day 4 基本型別 - part 1
系列文
TypeScript 三十天學習日記24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言