1

我使用 create-react-app 设置了一个应用程序,并尝试使用 Flow。

  1. 安装流量
  2. 安装核素
  3. 在项目中使用 flow init 创建了一个空的 .flowconfig
  4. 在文件中使用/* @flow */,并故意添加类型错误。

当我从项目目录运行流检查时,或者当我查看 Atom/Nuclide 中的文件时,它错误地注册为“无错误”。

但是,当我将鼠标悬停在变量上时,它确实正确显示了类型,并且它正确地标记了文件的覆盖和未覆盖部分。

我已经检查了 Flow 的路径,它似乎是正确的。我尝试选择“使用流二进制”,但这并没有改变行为。

我的 package.json:

{
  "name": "",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "babel-eslint": "^7.2.3",
    "lodash": "^4.17.4",
    "react": "^15.6.1",
    "react-dom": "^15.6.1",
    "react-redux": "^5.0.5",
    "react-router": "^4.1.1",
    "react-router-dom": "^4.1.1",
    "redux": "^3.7.0",
    "redux-thunk": "^2.2.0"
  },
  "devDependencies": {
    "flow-bin": "^0.48.0",
    "react-scripts": "1.0.7"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject",
    "flow": "flow"
  }
}

我要检查的错误: 字符串 = 2

它似乎在运行,但显示“没有错误!” (npm 运行流程、流程或流程状态)或“发现 0 个错误”(流程检查)。

我正在检查的文件是一个 .js 文件。它在我运行“flow ls”时显示。

我试过停止并重新启动服务器。

编辑: 工作!我将 package.json 中的 npm 脚本更改为“flow”:“flow; test $? -eq 0 -o $? -eq 2”,并将 // @flow 移动到文件的绝对顶部,而不是在文件的上方我想检查的代码。

4

0 回答 0