【问题标题】:TypeScript the unintrusive way: Can I use typescript with definition files only (and normal js files)?TypeScript 以非侵入式的方式:我可以仅将 typescript 与定义文件(和普通 js 文件)一起使用吗?
【发布时间】:2014-06-19 14:00:35
【问题描述】:

如果我有一个项目想要使用纯 JavaScript 并且使用仅编译为 JavaScript 的语言是不可能的,但我仍然希望在我的 IDE 中获得静态类型检查和代码完成的好处:我还能使用 TypeScript,但将所有这些添加保留在(外部).d.ts 文件中?

如果我尝试这种方法,我应该注意哪些限制?

【问题讨论】:

    标签: javascript typescript


    【解决方案1】:

    我看到两个问题(至少):

    • 您的 IDE 如何知道虽然它正在编辑 Javascript 文件,但它应该执行 Typescript 类型验证和完成?然而,许多 IDE 都正确支持 JSDoc

    • 类型定义文件仅包含定义。类型推断需要整个实现才能正常工作。

    【讨论】:

    • 顺便说一句,“只编译为 Javascript 的语言”有什么问题?
    【解决方案2】:

    使用只编译成 JavaScript 的语言是不可能的,但我仍然想要静态类型检查的好处

    看看谷歌关闭工具:https://developers.google.com/closure/compiler/docs/js-for-compiler

    这就是许多人在之前(并且仍然在之后)使用 TypeScript 的方式。

    【讨论】:

    • typescript 更好。它更简洁、内联且不那么冗长
    【解决方案3】:

    是的,您可以在项目中直接使用从 typescript 生成的 JavaScript 文件。该项目不需要知道它是从 TypeScript 创建的。您甚至不需要类型定义文件。生成的 js 文件没有类型信息。类型信息只是为了方便开发者,浏览器不需要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-05
      • 2022-01-24
      • 2017-07-14
      • 2012-03-09
      • 2016-02-21
      • 2017-09-05
      • 2022-08-24
      相关资源
      最近更新 更多