TypeScript配置文件之compilerOptions配置過(guò)程
rootDir和outDir
現(xiàn)在你的js文件直接編譯到了根目錄下,和ts文件混在了一起。我們當(dāng)然是不喜歡這種方法的,工作中我們希望打包的js都生成在特定的一個(gè)文件夾里,比如build。
這時(shí)候你就可以通過(guò)配置outDir來(lái)配置,當(dāng)然你也可以通過(guò)rootDir來(lái)指定ts文件的位置,比如我們把所有的 ts 文件都放到 src 下。
那配置文件就應(yīng)該這樣寫(xiě):
{
"outDir": "./build" ,
"rootDir": "./src" ,
}這時(shí)候你再在Terminal中輸入tsc,就會(huì)有不同的效果了。
編譯ES6到ES5語(yǔ)法allowjs
現(xiàn)在你在src目錄下用ES6的語(yǔ)法寫(xiě)了一個(gè)demo.ts文件,代碼如下。
export const name = "Riven";
如果你不做任何配置,這時(shí)候試用tsc是沒(méi)有效果的。你需要到tsconfig.js文件里進(jìn)行修改,修改的地方有兩個(gè)。
"target":'es5' , // 這一項(xiàng)默認(rèn)是開(kāi)啟的,你必須要保證它的開(kāi)啟,才能轉(zhuǎn)換成功 "allowJs":true, // 這個(gè)配置項(xiàng)的意思是聯(lián)通
這兩項(xiàng)都開(kāi)啟后,在使用tsc編譯時(shí),就會(huì)編譯js文件了。
sourceMap屬性
如果把sourceMap的注釋去掉,在打包的過(guò)程中就會(huì)給我們生成sourceMap文件.
- sourceMap 簡(jiǎn)單說(shuō),Source map 就是一個(gè)信息文件,里面儲(chǔ)存著位置信息。
- 也就是說(shuō),轉(zhuǎn)換后的代碼的每一個(gè)位置,所對(duì)應(yīng)的轉(zhuǎn)換前的位置。
- 有了它,出錯(cuò)的時(shí)候,除錯(cuò)工具將直接顯示原始代碼,而不是轉(zhuǎn)換后的代碼。
- 這無(wú)疑給開(kāi)發(fā)者帶來(lái)了很大方便。
這里我不對(duì) Source map 文件詳細(xì)講解,如果你感興趣,可以自行百度一下吧。
noUnusedLocals和noUnusedParameters
比如現(xiàn)在我們修改demo.ts文件的代碼,改為下面的樣子。
const riven: string = null; export const name = "riven";
這時(shí)候你會(huì)發(fā)現(xiàn)riven這個(gè)變量沒(méi)有任何地方使用,但是我們編譯的話(huà),它依然會(huì)被編譯出來(lái),這就是一種資源的浪費(fèi)。
//編譯后的文件 "use strict"; exports.__esModule = true; exports.name = void 0; var jspang = null; exports.name = "riven";
這時(shí)候我們可以開(kāi)啟noUnusedLocals:true,開(kāi)啟后我們的程序會(huì)直接給我們提示不能這樣編寫(xiě)代碼,有沒(méi)有使用的變量。
noUnusedParameters是針對(duì)于名優(yōu)使用的函數(shù)的,方法和noUnusedLocals:true一樣,小伙伴們自己嘗試吧。
https://www.tslang.cn/docs/handbook/compiler-options.html (編譯選項(xiàng)詳解)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
前端構(gòu)建 Less入門(mén)(CSS預(yù)處理器)
眾多CSS預(yù)處理器中Less的語(yǔ)法最接近原生CSS,因此相對(duì)來(lái)說(shuō)更容易上手,假如有JS、C#等編程經(jīng)驗(yàn)的話(huà),其實(shí)上述的幾種預(yù)處理器的學(xué)習(xí)成本也不會(huì)特別高。下面是我們這陣子的學(xué)習(xí)筆記,以便日后查閱2017-03-03
TypeScript 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)哈希表 HashTable教程
這篇文章主要為大家介紹了TypeScript 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)哈希表 HashTable教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
typescript類(lèi)型體操及關(guān)鍵字使用示例詳解
這篇文章主要為大家介紹了typescript類(lèi)型體操及關(guān)鍵字使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
less簡(jiǎn)單入門(mén)(CSS 預(yù)處理語(yǔ)言)
Less 是一門(mén) CSS 預(yù)處理語(yǔ)言,它擴(kuò)充了 CSS 語(yǔ)言,增加了諸如變量、混合(mixin)、函數(shù)等功能,讓 CSS 更易維護(hù)、方便制作主題、擴(kuò)充2017-03-03
TypeScript函數(shù)參數(shù)和返回類(lèi)型的注解方式
這篇文章主要介紹了TypeScript函數(shù)參數(shù)和返回類(lèi)型的注解方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-05-05
如何解決tsconfig.json配置不生效的問(wèn)題
這篇文章主要介紹了如何解決tsconfig.json配置不生效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-05-05

