> For the complete documentation index, see [llms.txt](https://azr.gitbook.io/webpack/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://azr.gitbook.io/webpack/shi-zhan/flow-jian-cha-qi.md).

# Flow检查器

## [Flow](https://flowtype.org/)

Flow是Facebook开源的静态类型检查工具。Flow的优点是易学易用、非强制与非侵入性。

Flow是一种强(静态)类型的辅助检查工具。Flow的功能是让现有的JavaScript语法可以事先作类型的声明(定义)，在开发过程中进行自动检查，当然在最后编译时，一样可以用babel工具来移除这些标记。

### 安装

```javascript
# 要先进行全局安装
$ npm i flow-bin -
# 再进行本地安装
$ npm i flow-bin -D
```

```javascript
$   npm i babel-cli babel-preset-flow flow-babel-webpack-plugin -D
```

### 配置初始化

```javascript
$   flow init
```

#### package.js

```javascript
"scripts": {
    "flow": "flow"
},
"presets": [
    "flow"
]
```

### .babelrc

```javascript
   {
     "plugins" : [
       "transform-flow-comments"
     ]
   }
```

### webpack.config.js

```javascript
   const FlowBabelWebpackPlugin = require('flow-babel-webpack-plugin');
   plugins: [
       new FlowBabelWebpackPlugin(),
   ],
```
