亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

TypeScript配置文件tsconfig.json詳解

 更新時間:2025年05月06日 14:16:28   作者:聒噪,  
這篇文章主要介紹了TypeScript配置文件tsconfig.json的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

生成tsconfig.json

這個文件是通過tsc --init命令生成的,在桌面上新建一個文件夾TsDemo,然后打開VSCode,把文件托到編輯器中,然后打開終端Terminal,輸入tsc --init。

輸入完成后,就會出現(xiàn)tsconfig.json文件,你可以打開簡單的看一下,不過此時你可能看不懂。

其實(shí)它就是用來配置如何對ts文件進(jìn)行編譯的,我們都叫它 typescript 的編譯配置文件。

如果此時你的tsc執(zhí)行不了,很有可能是你沒有全局安裝 TypeScript,可以全局安裝一下。

讓tsconfig.json 文件生效

你現(xiàn)在可以在文件夾跟目錄建立一個demo.ts文件,然后編寫一些最簡單的代碼,代碼如下:

const person:string = 'Riven';

這時候我們不在使用ts-node直接執(zhí)行了,需要用tsc demo.ts進(jìn)行編譯,編譯后會得到demo.js文件。

生成的代碼如下:

var person = 'Riven';

這時候好像一切都是正常的,但是我要告訴你的真相是tsconfig.json這個編譯配置文件并沒有生效。

此時我們打開tsconfig.json文件,找到complilerOptions屬性下的removeComments:true選項(xiàng),把注釋去掉。

這個配置項(xiàng)的意思是,編譯時不顯示注釋,也就是編譯出來的js文件不顯示注釋內(nèi)容。

現(xiàn)在你在文件中加入一些注釋,比如:

// I love Riven
const person:string = 'Riven';

這時候再運(yùn)行編譯代碼tsc demo.ts,編譯后打開demo.js文件,你會發(fā)現(xiàn)注釋依然存在,說明tsconfig.json文件沒有起作用。

如果要想編譯配置文件起作用,我們可以直接運(yùn)行tsc命令,這時候tsconfig.json才起作用,可以看到生成的js文件已經(jīng)不帶注釋了。

include,exclude,和files

那現(xiàn)在又出現(xiàn)問題了,如果我們的跟目錄下有多個ts文件,我們卻只想編譯其中的一個文件時,如何作?

我們在項(xiàng)目根目錄,新建一個文件demo2.ts文件,然后也寫一段最簡單的 ts 代碼。

const person2:string = '翠花';

如果這時候我們在終端里運(yùn)行tsc,雖然tsconfig.json生效了,但是兩個文件都被我們編譯了。

這不是你想要的結(jié)果,我們可以用三種辦法解決這個問題。

第一種:使用 include 配置

include屬性是用來指定要編譯的文件的,比如現(xiàn)在我們只編譯demo.ts文件,而不編譯demo2.ts文件,就可以這樣寫。

寫配置文件時有個坑需要注意,就是配置文件不支持單引號,所以里邊都要使用雙引號。

{
  "include":["demo.ts"],
  "compilerOptions": {
      //any something
      //........
  }
}

這時候再編譯,就只編譯demo.ts文件了。

第二種:使用 exclude 配置

include是包含的意思,exclude是不包含,除什么文件之外,意思是寫再這個屬性之外的而文件才進(jìn)行編譯。

比如你還是要編譯demo.ts文件,這時候的寫法就應(yīng)該是這樣了。

{
   "exclude":["demo2.ts"],
  "compilerOptions": {
      //any something
      //........
  }
}

這樣寫依然只有demo.ts被編譯成了js文件。

第三種:使用 files 配置

files的配置效果和include幾乎一樣,我是沒找出有什么不同,只要配置到里邊的文件都可以編譯。

{
  "files":["demo.ts"],
  "compilerOptions": {
      //any something
      //........
  }
}

結(jié)果是依然只有demo.ts文件被編譯。

下來我們學(xué)習(xí)下compilerOptions配置項(xiàng),它是告訴TypeScript具體如何編譯成js文件的,里邊的配置項(xiàng)非常多,這節(jié)我們先來講幾個簡單的配置項(xiàng),目的是讓你熟悉compilerOptions的使用方法。

removeComments 屬性

removeComments是complerOptions里的一個子屬性,它的用處是告訴TypeScript對編譯出來的js文件是否顯示注釋(注解)。比如我們現(xiàn)在把removeComments的值設(shè)置為true,就是在js中不顯示注釋。這個上面我們有用過!

strict 屬性

strict屬性如果設(shè)置為true,就代表我們的編譯和書寫規(guī)范,要按照TypeScript最嚴(yán)格的規(guī)范來寫,如果我們把這個設(shè)置為false或者注釋掉,意思是我們可以對設(shè)置一些不嚴(yán)格的寫法。

noImplicitAny屬性

noImplicitAny屬性的作用是,允許你的注解類型 any 不用特意表明,只聽概念很難理解。如果你只看官方 API,你可能要迷糊一陣啥叫允許你的注解類型any不用特意表明,這就是每個漢字我都認(rèn)識,連在一期就不知道啥意思的最好詮釋。

為了更好的說明,我們舉個例子,在demo.ts里,刪除剛才的代碼,然后寫一個方法,方法的參數(shù)我們設(shè)置成任意類型(any)。

function riven(name) {
    return name;
  }

這時候我們的TypeScript是進(jìn)行報錯的,我們用tsc編譯也是報錯的。這就是因?yàn)槲覀冮_啟了strict:true,我們先注釋掉,然后把noImplicitAny的值設(shè)置為false,就不再報錯了。

如果設(shè)置為noImplicitAny:true,意思就是值就算是 any(任意值),你也要進(jìn)行類型注釋。

function riven(name:any) {
    return name;
  }

你可以簡單的理解為,設(shè)置為 true,就是必須明確置頂 any 類型的值。

strictNullChecks屬性

我們先把strictNullChecks設(shè)置為false,它的意思就是,不強(qiáng)制檢查 NULL 類型。

我們舉個例子,讓你能一下子就明白,還是刪除demo.ts里的代碼,然后編寫代碼.

const riven: string = null;

代碼寫完后,你會發(fā)現(xiàn)這段代碼是不報錯的,如果是以前,一定是報錯的,這就是我們配置了“不強(qiáng)制檢驗(yàn) null 類型”。

如果你設(shè)成strictNullChecks:true,這時候就報錯了。

ts-node遵循tsconfig.js

有的小伙伴問我了,tsc fileName 是沒辦法遵循tsconfig.js文件的,那ts-node是否遵循?

這里直接告訴你答案,ts-node是遵循的,感興趣的可以自行試一下。

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何解決tsconfig.json配置不生效的問題

    如何解決tsconfig.json配置不生效的問題

    這篇文章主要介紹了如何解決tsconfig.json配置不生效的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • TypeScript學(xué)習(xí)輕松玩轉(zhuǎn)類型操作

    TypeScript學(xué)習(xí)輕松玩轉(zhuǎn)類型操作

    這篇文章主要為大家介紹了TypeScript學(xué)習(xí)輕松玩轉(zhuǎn)類型操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • TypeScript?5.0?正式發(fā)布及使用指南詳解

    TypeScript?5.0?正式發(fā)布及使用指南詳解

    這篇文章主要為大家介紹了TypeScript?5.0?正式發(fā)布及使用指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • typescript類型體操及關(guān)鍵字使用示例詳解

    typescript類型體操及關(guān)鍵字使用示例詳解

    這篇文章主要為大家介紹了typescript類型體操及關(guān)鍵字使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Typescript使用裝飾器實(shí)現(xiàn)接口字段映射與Mock實(shí)例

    Typescript使用裝飾器實(shí)現(xiàn)接口字段映射與Mock實(shí)例

    這篇文章主要為大家介紹了Typescript使用裝飾器實(shí)現(xiàn)接口字段映射與Mock實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • JavaScript可視化圖表庫D3.js API中文參考

    JavaScript可視化圖表庫D3.js API中文參考

    這篇文章主要介紹了JavaScript可視化圖表庫D3.js API中文參考,本文對常用的API給出一中文翻譯,需要的朋友可以參考下
    2015-01-01
  • 使用JS?的download庫在瀏覽器直接下載文件

    使用JS?的download庫在瀏覽器直接下載文件

    一般情況下web項(xiàng)目的瀏覽器下載文件,都是使用form表單或者ajax向后端提交數(shù)據(jù),發(fā)送請求,后端文件的URL地址或者二進(jìn)制文件流。這篇文章主要介紹了使用JS?的download庫在瀏覽器直接下載文件。
    2022-12-12
  • TypeScript前端上傳文件到MinIO示例詳解

    TypeScript前端上傳文件到MinIO示例詳解

    這篇文章主要為大家介紹了TypeScript前端上傳文件到MinIO示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • TypeScript 基本數(shù)據(jù)類型實(shí)例詳解

    TypeScript 基本數(shù)據(jù)類型實(shí)例詳解

    這篇文章主要為大家介紹了TypeScript 基本數(shù)據(jù)類型實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 使用three.js 畫漸變的直線

    使用three.js 畫漸變的直線

    這篇文章主要介紹了使用three.js 畫漸變的直線的相關(guān)資料以及具體的實(shí)例代碼,有需要的小伙伴可以參考下
    2016-06-06

最新評論