因此,Flow仅在我第一次运行时才能正常运行,然后必须重新启动计算机才能再次正常运行。
具体地说,我看到的问题是我们正在使用Flow语言向我们的JS代码添加类型注释。我们的linter脚本设置为运行流类型检查等。但是,当我在代码中解决了一个问题,然后重新运行linter脚本时,它仍然返回完全相同的错误...但是,当它显示了应该认为错误所在的代码段时,实际上却显示了我的更新固定的代码。
例如,我有一个文件复制到项目中,我认为我并不需要,但也许可以。所以我复制了它以防万一。嗯,然后它带来了很多linter错误,所以我决定只删除该文件,因为我确实不需要它。因此,然后我再次运行“ yarn lint --fix”,但它仍在抱怨该文件,即使该文件不存在!现在有趣的是,在linter输出中应该显示这些错误的代码,它只是空白。
或者另一个例子,假设我的代码中有几个函数:
100: function foo() {} ... 150: function bar() {}
并且foo有很多错误,因为它是一些我不再需要的废弃代码,因此我将其删除。因此,新代码如下:
100: function bar() {}
好吧,我重新运行了linter并收到如下错误:
Error ------------------------ function foo has incorrect something...blah blah src/.../file.js 100| function bar() {}
我也在同事的机器上进行了测试,他们得到了与我相同的行为。因此,尽管它可能特定于我们的项目,但这不是特定于我的机器的东西?
注意:Flow似乎没有标签,但是我没有包含至少一个标签就无法发布,因此即使实际上是另一种语言,我也使用flowlang :-(我假设有人寻找流量也将使用该标签,因为它是最接近的标签。
答案 0 :(得分:0)
首次启动Flow时,它将启动一个后台进程,然后将其用于后续的类型检查。不幸的是,此后台进程非常慢,而且启动时也有问题。在Linux中,您可以运行:
killall flow
停止后台进程。然后,如果您重新运行流类型检查器,它将实际上看到您的所有最新更改。