TypeScript 進階

一、編譯ts文件

命令:

tsc 
// 可以自動將當(dāng)前項目下的所有ts文件編譯為js文件。前提是在根目錄下創(chuàng)建一個ts的配置文件tsconfig.json。
// 或
tsc app.ts 
// 或
tsc app.ts -w   // 開啟監(jiān)視模式

tsconfig.json配置文件的配置選項:

  • include
    • 定義希望被編譯文件所在的目錄
    • 默認(rèn)值:["*/"]
    • 示例:
"include": ["src/**/*","tests/**/*"]
// 上述示例中,所有src目錄和tests目錄下的文件都會被編譯
  • exclude
    • 定義需要排除在外的目錄
    • 默認(rèn)值:["node_modules", "bower_components", "jspm.packages"]
    • 示例:
"exclude": ["./src/hello/**/*"]
// 上述示例中,src下的hello目錄下的文件都不會被編譯
  • extends
    • 定義被繼承的配置文件
    • 示例
"extends": "./configs/base"
* 上述示例中,當(dāng)前配置文件中會自動包含config目錄下的base.json中的所有配置信息
  • files
    • 指定被編譯文件的列表,只有需要編譯的文件少時才會用到
    • 示例
"files": ["core.ts",''aaa.ts''] 
// 數(shù)組中的文件都會被TS編譯器編譯
  • compilerOptions
    • 編譯選項是配置文件中非常重要也比較復(fù)雜的配置項
    • 在compilerOptions中包含多個子選項,用來完成對編譯的配置
      • 項目選項
        • target
          • 設(shè)置ts代碼編譯的目標(biāo)版本
          • 可選值:ES3(默認(rèn))、ES5、ES6/ES2015、ES7/ES2016、ES2017、ES2018、ES2019、ES2020、ESNext
        • lib
          • 指定代碼運行時所包含的庫(宿主環(huán)境)
          • 可選值:ES5、ES6/ES2015、ES7/ES2016、ES2017、ES2018、ES2019、ES2020、ESNext、DOM、WebWorker、ScriptHost...
        • module
          • 設(shè)置編譯后代碼使用的模塊化系統(tǒng)
          • 可選值:CommonJs、UMD、AMD、System、ES2020、ESNext、None
        • outDir
          • 編譯后文件的所在目錄
          • 默認(rèn)情況下,編譯后的js文件會和ts文件位于相同的目錄,設(shè)置outDir后可以改變編譯后文件的位置
        • outFile
          • 將代碼合并為一個文件,所有的全局作用域中的代碼會合并到同一個文件中。
        • allowJs
          • 是否對js文件進行編譯,默認(rèn)是false
        • checkJs
          • 是否檢查js代碼是否符合語法規(guī)范,默認(rèn)是false
        • removeComments
          • 是否移除注釋
        • noEmit
          • 不生成編譯后的文件
        • noEmitOnError
          • 當(dāng)有錯誤時不生成編譯后的文件
        • alwaysStrict
          • 用來設(shè)置編譯后的文件是否使用嚴(yán)格模式,默認(rèn)是false
        • noImplicitAny
          • 不允許隱式的any類型

二、使用webpack打包ts

  • 安裝
    cnpm i -D webpack webpack-cli typescript ts-loader
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容