强制JBoss重新加载JavaScript文件

时间:2014-02-05 17:15:17

标签: caching jboss

我正在使用JBoss Application Server 4.2。

我注意到当我更新.xhtml文件时,我的本地服务器会立即反映更改。但是,如果我更新.js文件,它将不会更新,直到我重新启动服务器。当我使用.js文件时,这是一个巨大的麻烦;任何时候我想测试更改,我需要重新启动服务器。

有没有办法可以强制JBoss停止缓存文件?请注意,像this one这样的解决方案不起作用;框架自动包含.js文件,我无法手动更改<script src="...">文本。

1 个答案:

答案 0 :(得分:1)

这不是一个非常优雅的“解决方案”,但我有三个我一直在使用的解决问题的解决方法。我会在下面发布它们给其他与我有同样问题的人:

  1. 编辑服务器上的.xhtml文件,将虚拟GET变量添加到<script src="...">标记中的文件名。见here。就我而言,因为我使用的是外部框架,这意味着编辑一个XML文件,服务器显然没有缓存。

    • 优点:每次都会正确重新加载。
    • 缺点:我必须确保不使用虚拟GET变量将代码部署到生产中。另外,我在调试器中丢失了任何断点,它不能识别它是相同的JS文件。

  2. 在服务器上编辑文件,然后在Chrome调试器中动态进行完全相同的更改。请参阅here

    • 优点:无需担心断点或部署错误代码。甚至无需重新加载页面。
    • 缺点:只要我按下重新加载按钮,更改就会消失。此外,在同步代码时很容易出错。

  3. 将.xhtml文件中的JavaScript代码放在自己的<script>标记下,然后在准备提交更改时将其迁移到.js文件。

    • 优点:每次都可以正确重新加载页面。
    • 缺点:将代码迁移到.js很麻烦,而且很容易意外地引入错误。
  4. 这些解决方案都不是完美的,但它们可以作为不错的补丁。当然,如果有人有真正的解决方案来实际让服务器停止缓存文件,我仍然希望听到它。