我使用 create-react-app 设置了一个应用程序,并尝试使用 Flow。
- 安装流量
- 安装核素
- 在项目中使用 flow init 创建了一个空的 .flowconfig
- 在文件中使用
/* @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"
}
}
我要检查的错误:
它似乎在运行,但显示“没有错误!” (npm 运行流程、流程或流程状态)或“发现 0 个错误”(流程检查)。
我正在检查的文件是一个 .js 文件。它在我运行“flow ls”时显示。
我试过停止并重新启动服务器。
编辑: 工作!我将 package.json 中的 npm 脚本更改为“flow”:“flow; test $? -eq 0 -o $? -eq 2”,并将 // @flow 移动到文件的绝对顶部,而不是在文件的上方我想检查的代码。