簡體   English   中英

將枚舉從 Typescript 轉換為 JavaScript 時出錯

[英]Error on converting enum from Typescript to JavaScript

我在打字稿中有一個枚舉讓我們說

export const enum CarType {
    SED = "Sedan"
}

構建后的 JavaScript 代碼:

"use strict";
Object.defineProperty(exports,"_esModule, { value: true })

所以基本上js代碼沒有邏輯,只有.d.ts文件有邏輯。 當我使用tsc命令構建它並將 JavaScript 代碼導出到反應應用程序時,在訪問這個枚舉時,如: CarType.SED ,它給出了一個錯誤,如 - Cannot read property SED of undefined

什么可能是相同的原因。 我知道打字稿有一個聲明文件(擴展名為 .ts)。 如何在純 JS 項目中使用它?

文檔中

常量枚舉只能使用常量枚舉表達式,並且與常規枚舉不同,它們在編譯期間被完全刪除。 Const 枚舉成員在使用站點內聯。 這是可能的,因為 const 枚舉不能有計算成員。

刪除const關鍵字應該可以工作。 只有在另一個 TypeScript 文件中使用枚舉時,內聯才有效。

您可以將編譯器選項( TSC 選項)“preserveConstEnums”設置為 true:

tsconfig.json:

{
  "compilerOptions": {
    "preserveConstEnums": true,
    ...
  },
  ...
}

或者命令行:

tsc --preserveConstEnums true path/to/some_file.ts

常量枚舉規范

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM