【问题标题】:pub serve not updating web unless I restart it除非我重新启动,否则发布服务不会更新网络
【发布时间】:2015-03-09 08:09:01
【问题描述】:

在 IntelliJ 中有一个显示“Pub Serve”的选项卡,当我按 Ctrl + Shift + R 时,我可以在 Pub Serve 输出终端上看到大量输出,它会启动 Dart 编辑器附带的 Chromium,显示我的网站申请。

现在,如果我对任何 dart 文件或 html 文件甚至 index.html 进行更改并在 Chromium 中刷新,在单击 Pub Serve 上的停止按钮之前我看不到更改。

我已经在 Chromium 中安装了 JetBrains 插件,看看它是否有什么不同。

从命令行运行 pub serve 的效果完全相同,除非您将其杀死并重新运行 pub serve,否则您的更改不会变得可见。

知道如何让 pub 服务在代码更改时自动重新加载吗?

更新

我认为这可能是相关的:https://code.google.com/p/dart/issues/detail?id=21402

【问题讨论】:

  • 它通常会自动重新加载。你使用的是什么操作系统和 Dart 版本?
  • 删除.pub文件夹并重试。
  • 它曾经也对我有用,直到我开始使用 IntelliJ 或者 dart 更新了。版本:OSX 10.10.1 Yosemite 和 dart 1.8.3。在外部命令行上执行相同的操作。现在也要在 Dart 编辑器中尝试一下,看看它是否也一样。
  • 您是否检查过删除.pub 是否有任何改变?
  • 删除了.pub 以及pub缓存修复,还是一样。现在尝试 dart 编辑器,看看它是否有不同的功能。

标签: intellij-idea dart dart-pub


【解决方案1】:

问题似乎是由安全写入引起的,有一个临时解决方法:

WEB-13739 Mac OS 上的 Pub Serve 不会注意到文件内容 已更改,因此在浏览器中刷新会在 DartEditor 中显示旧的缓存内容 你可以这样工作:

  1. 开始调试(这将启动 pub 服务,这需要一段时间)。

  2. 在聚合物元素中编辑模板

  3. 保存(现在 DartEditor 会重新编译聚合物模板,AFAIK 它不会完全重新启动 pub serve 因为它 更快)。

  4. 刷新浏览器,你会看到模板的变化。

但是在 Webstorm 9 EAP 10 月 8 日版本中,这个工作流不是 可能的。我必须终止 pub serve 并重新启动才能看到我的 聚合物组分模板的变化。我希望 Webstorm 和 DartEdtior 一样工作,所以我可以有相同的保存/刷新 开发周期。

解决方法:取消选中“首选项”中的“安全写入”模式 |外貌 & 行为 |系统设置和投票中对应的问题 Google 问题跟踪器。

https://youtrack.jetbrains.com/issue/WEB-13739

此解决方法也与 IntelliJ Ultimate 相关。

在此处为错误修复投票: https://code.google.com/p/dart/issues/detail?id=21402

更新

错误已修复:

现在应该可以工作了。根本问题在于观察者 包,固定在这里:

https://codereview.chromium.org/861313006/

然后拉入 pub 的 repo 并在这里测试:

https://codereview.chromium.org/801943005/ https://codereview.chromium.org/870703003/

谢谢鲍勃!

【讨论】:

    猜你喜欢
    • 2022-01-18
    • 2021-12-30
    • 2011-05-26
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 2020-09-05
    • 1970-01-01
    • 2012-07-01
    相关资源
    最近更新 更多