【问题标题】:Flow IDE support is fighting with WebpackFlow IDE 支持与 Webpack 竞争
【发布时间】:2017-06-22 03:57:44
【问题描述】:

我已经使用flow-babel-webpack-plugin 将流程集成到 webpack / babel 构建中,并且效果很好。 Webpack 开发服务器在不到一秒的时间内编译/提供资产,如果存在流类型错误,它会很好地打印出来。我对此非常满意。

当我打开 IDE 时,问题就开始了。在 VSCode 和 Atom 中,如果我启用任何类型的流支持,我的 webpack / babel 构建会立即开始阻塞。编译任何更改都需要 4 到 70 秒。通常它会失败并给出多个flow is still initializing 通知,并表明它已尝试一遍又一遍地启动服务器。

我怀疑 webpack 和 IDE 都试图同时启动单独的流服务器,这导致了冲突。或者他们使用相同的流服务器,出于某种原因,这也是一个问题。我只是不知道该怎么办。我尝试使用全局 flow 和 IDE 使用来自 node_modules 的一个指向带有 webpack 的单独二进制文件。没有骰子。

看起来这一定是一个非常常见的用例 - 流 + webpack 观察器 + 任何 IDE。

我想让我的 webpack 构建编译流程代码让我的 IDE 显示语法错误等。到目前为止这是不可能的

【问题讨论】:

    标签: visual-studio-code babeljs atom-editor webpack-dev-server flowtype


    【解决方案1】:

    看起来该插件使用了自己的 Flow 副本,来自 flow-bin 包:

    index.js

    package.json

    如果此版本与您的 IDE 正在启动的版本不同步,那么它们会发生冲突 - 启动一个 Flow 版本将杀死任何已在该目录中运行的具有不同版本的 Flow 服务器。

    如果您将 flow-bin 放入您的 devDependencies(与此 webpack 插件一起)并将其锁定到特定版本,并将您的 IDE 设置为使用来自 flow-bin 的 Flow 二进制文件,那么它看起来像 npm只会安装您指定的版本,插件和 IDE 都可以使用相同的 Flow 版本。

    如果不了解您的设置的更多细节,很难推荐更具体的解决方案。你必须要么让你的 IDE 和这个 webpack 插件运行相同版本的 Flow,要么停止使用 IDE 或 webpack 插件。

    【讨论】:

    • 成功了!谢谢!我想补充一点,我必须将 flow-bin 设置为 webpack 插件使用的版本,因为它与更高版本不兼容
    • 这很奇怪,看起来它应该适用于大于v0.33 的任何版本。这是一个相当旧的版本,所以事情可能不会像你期望的那样工作。例如,核素可能不再与该版本完全兼容。更不用说从那以后发生的类型检查器改进了。
    • 我希望它也能工作,但它在更高版本 (0.44) 中引发了错误
    猜你喜欢
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    相关资源
    最近更新 更多