流类型注释和有效的JavaScript源

Ozt*_*ten 5 javascript flowtype

我正在玩Facebook新的Flow Type检查系统.

Flow中,遇到Underscore,它们似乎更改了此JavaScript代码

var root = this;
Run Code Online (Sandbox Code Playgroud)

进入这个

var root: any = this;
Run Code Online (Sandbox Code Playgroud)

但这不再是有效的JavaScript,对吧?我理解为什么外部接口文件会有用,但是如何将类型注释直接添加到有效的JavaScript源代码中?

以前,Google Closure编译器和其他项目用于JS评论.

psi*_*i75 5

从 Flow 0.4.0 开始,您可以将 Flow 语法放入注释中。这解决了你的问题。所以你的例子看起来像:

var root/*: any*/ = this;
Run Code Online (Sandbox Code Playgroud)

这会产生有效的 JavaScript 语法,并且无需转译代码。

更多详细信息可以在这里找到: http://flowtype.org/blog/2015/02/20/Flow-Comments.html


Ozt*_*ten 0

我错过了运行流程代码,其中讨论了添加构建步骤以删除类型注释。

您可以使用JSX 转换工具(React 工具的一部分)将文件转换为纯 JavaScript

我还发现了flow-typestrip这是替代方案。

我更喜欢每个模块的外部接口文件,因为您可以避免引入构建步骤。