繁体   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