TS編譯設(shè)置和配置文件屬性解讀

1. 編譯選項

1.1 自動編譯文件

  • 編譯文件時竖慧,使用-w指令后踊挠,TS編譯器會自動監(jiān)視文件的變化蚊锹,并在文件發(fā)生變化時重新編譯丧叽。

  • 示例

    tsc xxx.ts -w
    

1.2 自動編譯整個項目

  • 如果直接使用tsc指令呐舔,就可以自動將當(dāng)前項目下的所有ts文件編譯為js文件

  • 直接使用tsc指令的前提是惧盹,要在項目根目錄下創(chuàng)建一個ts的配置文件 tsconfig.json

    tsc --init
    

如果直接執(zhí)行 tsc命令,只是一次性生成 所有的js文件

如果直接執(zhí)行 tsc -w 命令涂召,它會生成所有的js文件盟迟,并且還會去監(jiān)視迫皱,只有對應(yīng)的文件發(fā)生變化新娜,就會自動去重新編譯生成

1.3 tsconfig.json文件

它是ts編譯器的配置文件私杜,可以根據(jù)它的信息,對代碼進行編譯。

1.3.1 外層屬性
  • include:用于指定哪些ts文件需要進行編譯

    • **:任意目錄
    • *:任意文件
    include:[
        "./src/**/*"
    ]
    
    • 以上表示根目錄下的src目錄下的任意目錄的任意文件,需要進行編譯
  • exclude:用于指定哪些ts文件不需要進行編譯

    • 默認值:["node_modules","bower_components",‘jspm_packages“]
      "exclude": ["./src/hello/*"],
    
  • extends

    • 定義被繼承的配置文件

    • "extends":"./configs/base"
      
    • 上述示例中,當(dāng)前配置文件中會自動包含config目錄下base.json中的所有配置信息。

  • files:設(shè)置文件,設(shè)置哪些文件需要被編譯

    • files:[
          "xxx.ts"
      ]
      
  • compilerOptions:是ts編譯器的選項

1.3.2 compilerOptions屬性
  • target:用來指定ts被編譯成ES的版本

    • 默認是es3

    • 可選值

      'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 
      
  • module:指定哪種版本的模塊化

    'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
    

    給一個錯誤的值充活,就可以看到可以支持哪些版本的模塊化

  • lib :用來指定項目中使用的庫

    •   "lib": ["DOM"], 
      
    • 比如上面的DOM窖张,如果沒有指定赘淮,則不會使用Dom的相關(guān)方法【也就是document的相關(guān)方法和屬性】,也不會有任何的提示蚣旱。

    • 給定一個錯誤的值恤批,可以看到可以使用哪些庫

  • outDir:用于指定編譯后js文件的所在目錄

    "outDir": "js",  
    
    • 輸出到根目錄下的js目錄下【沒有這個目錄赋荆,會自動創(chuàng)建】
  • outFile:將所有的全局作用域中的代碼合并懂同一個文件中

    Only 'amd' and 'system' modules are supported alongside --outFile. 
    
  • allowJs:是否對js文件進行編譯,默認為false

  • checkJs:是否檢查js代碼是否符合語法規(guī)范

  • removeComments:是否移除注釋

  • noEmit:是否不生成編譯后的文件

  • noEmitOnError:當(dāng)有錯誤時不生成編譯后的文件

  • alwaysStrict:用來設(shè)置編譯后的文件是否使用嚴格模式嚷辅,默認為false

    • 當(dāng)有模塊化代碼的時候准潭,默認就有嚴格模式了。

  • noImplicitAny:不允許隱式any

  • noImplicitThis:不允許不明確類型的this垦细,【默認為true】

  • strictNullChecks:嚴格檢查空值

  • strict:所有嚴格模式的總開關(guān)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子穿扳,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件详幽,死亡現(xiàn)場離奇詭異雳灾,居然都是意外死亡,警方通過查閱死者的電腦和手機浑劳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門魔熏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衷咽,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵植兰,是天一觀的道長巴元。 經(jīng)常有香客問我,道長纹安,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任砂豌,我火速辦了婚禮厢岂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘阳距。我一直安慰自己咪笑,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布娄涩。 她就那樣靜靜地躺著窗怒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蓄拣。 梳的紋絲不亂的頭發(fā)上扬虚,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音球恤,去河邊找鬼辜昵。 笑死,一個胖子當(dāng)著我的面吹牛咽斧,可吹牛的內(nèi)容都是我干的堪置。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼张惹,長吁一口氣:“原來是場噩夢啊……” “哼舀锨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起宛逗,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤坎匿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后雷激,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體替蔬,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年屎暇,在試婚紗的時候發(fā)現(xiàn)自己被綠了承桥。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡根悼,死狀恐怖凶异,靈堂內(nèi)的尸體忽然破棺而出蜀撑,到底是詐尸還是另有隱情,我是刑警寧澤唠帝,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布屯掖,位于F島的核電站玄柏,受9級特大地震影響襟衰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜粪摘,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一瀑晒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧徘意,春花似錦苔悦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至勤讽,卻和暖如春蟋座,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背脚牍。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工向臀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人诸狭。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓券膀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親驯遇。 傳聞我的和親對象是個殘疾皇子芹彬,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容