3个月前的2014年11月,Facebook开源了一个新的命令行工具,即一个名为“Flow”的静态类型检查器。现在,我想在一些较旧的现有javascript文件上运行它。这些包含对jQuery库的引用。

我的JS文件编写时没有考虑静态类型检查。
但是,在文件顶部包含/* @flow */之后,当我使用此命令运行flow时:

flow myfile.js

结果:
/var/www/myfilejs:70:12,17: identifier jQuery
Unknown global name
Found 1 error

据我了解,将jQuery包含在Flow的类型检查过程中的方法是create an "interface file"

有没有人为jQuery库完成此操作? (我使用jQuery 1.9)

最佳答案

如果您需要一个实际的jQuery流接口(interface)定义,则可以查看https://github.com/marudor/flowInterfaces中提供的定义。

通过以下方式安装:

npm install --save-dev iflow-jquery

或者
yarn add --dev iflow-jquery

然后将以下内容添加到您的.flowconfig文件中:
[libs]
node_modules/iflow-jquery/index.js.flow

之后,flow将推断您提供给jquery函数的参数的类型,并在您传递不正确的类型时向您发出警告。

10-07 19:58
查看更多