Flow的"JQuery接口文件"(来自Facebook的JavaScript静态类型检查器)?

knb*_*knb 9 javascript jquery facebook typechecking flowtype

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

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

flow myfile.js 
Run Code Online (Sandbox Code Playgroud)

结果:

/var/www/myfilejs:70:12,17: identifier jQuery
Unknown global name
Found 1 error
Run Code Online (Sandbox Code Playgroud)

据我了解,将jQuery包含在Flow的类型检查过程中的方法是创建一个"接口文件".

有人为jQuery库做过这个吗?(我使用jQuery 1.9)

Ian*_*nVS 1

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

安装它:

npm install --save-dev iflow-jquery
Run Code Online (Sandbox Code Playgroud)

或者

yarn add --dev iflow-jquery
Run Code Online (Sandbox Code Playgroud)

然后将以下内容添加到您的.flowconfig文件中:

[libs]
node_modules/iflow-jquery/index.js.flow
Run Code Online (Sandbox Code Playgroud)

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