3

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

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

问题可能是什么?

4

1 回答 1

4

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

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

于 2014-06-04T13:46:53.353 回答