js 使用flow
前言
what is flow?我想是的,很多人都没有接触过,的确,他是一个新的项目,是的facebook开发的东西,一般还是可以的,有必要去学习一下,在react还是比较重要的。
它做的一件事叫做静态检测。原因在于很多时候我们不明白弱类型到底执行正确吗?js就是一个很好的对比,因为他就是弱类型语言。
举例
function foo(x: number): number { return x + 10 } foo('hi')
x:number限制了x必须为number。扩号后面的number为返回的number,这样就可以检测出retrun 是否为一个数字。
实践
安装:
npm install --save-dev flow-bin
安装在各个目录中,这样就可以轻松去示例话flow对象,本质上是一个对象多个配置。
初始化:
flow init
如果去执行这样的初始化,那么需要配置环境。这个时候,就会生成一个.flowconfig一样的东西。
这个就是配置文件,还是比较好用的。
文件配置:
.flowconfig中的确会去检测这些我们忽略的项目,和我们需要包含的项目。
但是我们依然需要去添加我们的标识符让flow能够检测到我们的代码类型。
例:
//@flow
/@flow/
以上两种方式都会去执行这些静态检测。
在很多编译检测中,有些不支持flow的检测工具,那么将需要:
flow check
来进行检测。
在vs code 中已经有了对js的检测,那么避免冲突我们需要加上:
"javascript.validate.enable": false