簡體   English   中英

是否可以將 ES6 類用作 Typescript 類型?

[英]Is it possible to use an ES6 class as a Typescript type?

我正在嘗試做的是以下內容:

  • 創建一個 Typescript 類並將其導出到 .ts 文件中。
  • 將該 .ts 文件編譯為 ES6 .js 捆綁文件。
  • 在其他地方的新 .ts 文件中從捆綁的 .js 文件中導入類。
  • 使用這個從捆綁文件導入的類作為類型。

這可能嗎? 如果是這樣,我怎么能做到這一點?

在您的tsconfig.json文件中。 您可以將名為declaration的編譯器選項設置為true 然后,當您將 TS 文件編譯為 JS 時,它會自動為您創建定義文件( .d.ts )。 使用這些文件,您可以使用類型斷言將它們導入到 TS/JS 項目中的任何位置。

從我的項目中編輯tsconfig.json作為示例:

{
  "compilerOptions": {
    "module": "commonjs",
    "esModuleInterop": true,
    "target": "es5",
    "experimentalDecorators": true,
    "strict": true,
    "moduleResolution": "node",
    "sourceMap": true,
    "noUnusedLocals":  true,
    "incremental": true,
    "outDir": "dist",
    "tsBuildInfoFile": "dist/.tsBuildInfoFile",
    "baseUrl": ".",
    "resolveJsonModule": true,
    "declaration": true,
    "typeRoots": ["./src/types", "./node_modules/@types"]
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "test/**/*"]
}

暫無
暫無

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

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