【发布时间】:2014-06-19 14:00:35
【问题描述】:
如果我有一个项目想要使用纯 JavaScript 并且使用仅编译为 JavaScript 的语言是不可能的,但我仍然希望在我的 IDE 中获得静态类型检查和代码完成的好处:我还能使用 TypeScript,但将所有这些添加保留在(外部).d.ts 文件中?
如果我尝试这种方法,我应该注意哪些限制?
【问题讨论】:
标签: javascript typescript
如果我有一个项目想要使用纯 JavaScript 并且使用仅编译为 JavaScript 的语言是不可能的,但我仍然希望在我的 IDE 中获得静态类型检查和代码完成的好处:我还能使用 TypeScript,但将所有这些添加保留在(外部).d.ts 文件中?
如果我尝试这种方法,我应该注意哪些限制?
【问题讨论】:
标签: javascript typescript
我看到两个问题(至少):
您的 IDE 如何知道虽然它正在编辑 Javascript 文件,但它应该执行 Typescript 类型验证和完成?然而,许多 IDE 都正确支持 JSDoc
类型定义文件仅包含定义。类型推断需要整个实现才能正常工作。
【讨论】:
使用只编译成 JavaScript 的语言是不可能的,但我仍然想要静态类型检查的好处
看看谷歌关闭工具:https://developers.google.com/closure/compiler/docs/js-for-compiler
这就是许多人在之前(并且仍然在之后)使用 TypeScript 的方式。
【讨论】:
是的,您可以在项目中直接使用从 typescript 生成的 JavaScript 文件。该项目不需要知道它是从 TypeScript 创建的。您甚至不需要类型定义文件。生成的 js 文件没有类型信息。类型信息只是为了方便开发者,浏览器不需要。
【讨论】: