【问题标题】:Webstorm Live Edit not working for an external JavaScript fileWebstorm Live Edit 不适用于外部 JavaScript 文件
【发布时间】:2014-06-04 09:20:40
【问题描述】:

Webstorm 8 的实时编辑功能在使用外部 JavaScript 文件时似乎不起作用(即当我的 HTML 中包含 <script src="script.js"></script> 时)。外部 JavaScript 文件中的更改仅在我刷新页面后才会出现。

其他情况下也可以正常工作 - 例如。当我开始调试时,当我对 HTML 或 CSS 文件进行更改时,Chrome 中的页面会更新,当我在 HTML 中的 <script></script> 标记之间编写一些 JavaScript 代码时,事情也会正常工作。

可能是什么问题?

【问题讨论】:

  • 我遇到了同样的问题,如果我在 AngularJS 项目中工作,一切似乎都正常,但如果我创建一个空项目并添加一个 html 并链接一个外部 js 文件。 LiveEdit 不起作用。你知道如何使用 Ext JavaScript 文件启用 LiveEdit 吗?
  • 这里有同样的问题。只有 HTML 文档本身的更改会自动显示在 Chrome 中。更改 JS 或 CSS 文件后,我仍然需要手动重新加载页面。

标签: javascript webstorm liveedit


【解决方案1】:

实际上实时编辑在这两种情况下都有效。但是嵌入式 javascript 的变化总是会导致页面重新加载,而“外部”javascript 的变化是热交换的——就像 HTML 和 CSS 一样。但并非外部 javascript 代码的每一次更改都会导致页面立即更新:新代码会立即加载到浏览器中,但只有在您执行某些操作来触发此新代码时才能看到更改的结果。例如,如果您更改 onClick 处理程序并在警报中写入新文本,您将在单击后看到新文本而无需重新加载页面。定时器触发的函数也一样 但是如果 JS 代码仅在页面加载时执行(而不是在某些事件上),您必须手动重新加载页面才能看到结果 - 实时编辑不会强制执行新代码

另请注意,由于 Chrome 的限制,热交换目前不适用于文件级变量 - 请参阅 WEB-7390

【讨论】:

  • 谢谢你,莉娜,你的快速和彻底的解释!
  • 但是如果你所有的 JS 代码只在页面加载时执行,你就永远无法实时查看任何 JS 更改?那么 CSS 呢?我也没有在我的 CSS 中看到更新。有没有办法在 Webstorm 中保存文件后强制浏览器重新加载(F5)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-27
  • 2023-03-29
  • 1970-01-01
  • 2013-11-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多