JAvascriptスタティックタイプ検出ツール-Flow

1375 ワード

前言
最近vueのソースコードを見たとき、vueがflowを使って何をしているのか、コードを一目見たとき、cosplay Type scriptだと思いました.調べてみると、なかなか差のないものだったようです0
Flowとは
Flowはjavascriptサービス専用の静的タイプ検出ツールです.
Flowは私たちに何をもたらすの?
普段のプロジェクトでは、タイプの不一致問題による一連の問題に遭遇することは少なく、タイプの問題のバグを調べるのも疲れています.
インストール
npm install --save-dev flow-bin
package.jsonファイルのscriptにコマンドを追加します.
"scripts": {
  "flow": "flow"
}

これではnodeを使う必要はありませんmodules/...一連のパスがflowを実行しました.それからindexを追加します.jsファイルでテストしましょう.
// @flow

function foo(x: ?number): string {
  if (x) {
    return x;
  }
  return "default string";
}
@flowはflow検出声明で、それを加えて仕事をしています.number、stringは、明らかにタイプ宣言です.
jsファイルを保存した後、Flowを実行できます.
npm run flow

terminalの誤報を見ることができます
➜  flowTest npm run flow

> [email protected] flow /Users/Terry/Downloads/flowTest
> flow

Error: index.js:5
  5:     return x;
                ^ number. This type is incompatible with the expected return type of
  3: function foo(x: ?number): string {
                               ^^^^^^ string


Found 1 error

間違いを報告すれば成功を証明する!
個人的な観点.
プロジェクトが一定の規模に達しなければ、このような流れはやはり骨が折れると思います.大規模なプロジェクトでは、Flowはその強大な価値を体現しており、Flowは生活をより美しくしています.はい、だから、大規模なプロジェクトに対して、私はTypescriptを選びました!