Rush Stack商店部落格活動
跳至主要內容

TypeScript 外掛模組

外掛模組套件@rushstack/heft-typescript-plugin
外掛模組名稱typescript-pluginTypeScriptPlugin.ts 執行
外掛模組設定檔typescript.json
heft.json 選項(無)

此外掛模組呼叫 TypeScript 程式語言的編譯程式。

何時使用

TypeScript 是 Rush Stack 的標準程式語言。比起為各種不同的語言維護不同的專業知識和程式庫,擁有跨所有程式碼投資的「共同語言」有很多好處。

我們推薦使用 TypeScript 來

  • 開發應用程式:即使是原型和小型實驗也很適合使用。
  • 建立工具基礎架構:絕佳的開發人員體驗能大幅提高所有人的生產力,因此建置工具應該被視為有自己設計、文件和測試的一流軟體專案。
  • 裝置應用程式:TypeScript 只要有可能也可以透過執行環境主機(例如 React Native)用於原生開發。
  • 桌上型應用程式:也有執行環境主機(例如 Electron)可用於製作桌上型應用程式。

顯然,某些元件不可避免地需要 Java、C++、Swift 等。但理想情況下,除非開發人員正在處理這些元件,否則不應要求他們安裝原生 SDK。Expo client 將此概念發揮到極致,讓您無需安裝任何原生工具即可編譯並執行手機應用程式。當然,這理想的情況在實務上並非總是可行。這是一種心態,而不是教條。重點是,對程式碼庫進行標準化具有顯著的優點,因此任何工程師都可以輕易地貢獻任何專案,而任何專案都可以載入任何函式庫。

package.json 依賴項

如果您使用標準設備組,例如 @rushstack/heft-node-rig@rushstack/heft-web-rig,TypeScript 將已載入且設定完畢。

否則,您需要將外掛程式套件新增到您的專案中

# If you are using Rush, run this shell command in your project folder:
rush add --package @rushstack/heft-typescript-plugin --dev

您還需要將 typescript 套件新增到您的專案中

# If you are using Rush, run this shell command in your project folder:
rush add --package typescript --dev

如果您的 tsconfig.json 啟用 "importHelpers": true 以取得更有效率的編譯器輸出,您可能也需要 tslib 依賴項

# If you are using Rush, run this shell command in your project folder:
rush add --package tslib --dev

設定

如果尚未由設備組提供 TypeScript,您的 heft.json 設定檔 可以像下列範例一樣呼叫它

<專案資料夾>/config/heft.json

{
"$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft.schema.json",
. . .
"phasesByName": {
"build": {
"cleanFiles": [
{ "sourcePath": "dist" },
{ "sourcePath": "lib" },
{ "sourcePath": "lib-amd" },
{ "sourcePath": "lib-commonjs" },
{ "sourcePath": "lib-es6" }
],
"tasksByName": {
"typescript": {
"taskPlugin": {
"pluginPackage": "@rushstack/heft-typescript-plugin"
}
}
}
}
}
}

主要設定來自 TypeScript 的 tsconfig.json 檔。

對於進階情況,Heft 也支援選擇性的 config/typescript.json 設定檔,該檔可用於設定工具鍊功能,例如 TypeScript 編譯器的多個發布目標。它也支援 staticAssetsToCopy 功能,用於將檔案(例如 .css.json)複製到發布目標資料夾中。

另請參閱