【问题标题】:Force JBoss to reload JavaScript files强制 JBoss 重新加载 JavaScript 文件
【发布时间】:2014-03-02 06:41:57
【问题描述】:

我正在使用 JBoss 应用服务器 4.2。

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

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

【问题讨论】:

    标签: caching jboss


    【解决方案1】:

    这不是一个非常优雅的“解决方案”,但我一直在使用三种解决方法来缓解这个问题。我会将它们发布在下面,以供遇到与我相同问题的其他人使用:

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

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

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

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

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

      • 优点:每次都能正确重新加载页面。
      • 缺点:将代码迁移到.js很麻烦,而且很容易不小心引入bug。

    这些解决方案都不是完美的,但它们可以作为不错的补丁。当然,如果有人有一个真正的解决方案来真正让服务器停止缓存文件,我仍然很想听听。

    【讨论】:

      猜你喜欢
      • 2017-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-02
      • 2015-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多