GWT + Eclipse - 如何刷新CSS等静态资源

Gon*_*dri 12 css gwt

我正在以托管模式在Eclipse中开发GWT应用程序.

当我在CSS中更改某些内容时,我无法在浏览器中看到它.我正在尝试使用CTRL + F5在浏览器中完全重新加载,在Eclipse中重新启动我的应用程序并且没有更改.

唯一有帮助的是使用maven clean install重建我的应用程序,在Eclipse中重启App然后我可以看到更改.这需要很多时间.

知道我做错了什么吗?我认为一定有更好的方法.

问候,卢卡斯

Rya*_*ton 0

有3种方法可以解决这个问题。虽然我不使用 eclipse(我使用 IntelliJ 进行编码并使用命令行 Gradle 脚本中的托管模式),但希望它们无论如何都应该可以工作。

首先是找出托管模式从哪里提供文件,最好是展开的 war 目录。您可以在其中找到 CSS 文件,该文件将是您尝试更改的 CSS 文件的精确副本。在那里进行修改、重新加载、修改等,完成后不要忘记复制该文件并将其粘贴回源目录中。我使用VIM并来回切换。如果您愿意的话,我确信您可以编写一个脚本,在托管模式结束时将文件复制回来。

正如 user1570921 指出的,第二种方法(也是一种更好的方法)是将 CSS 嵌入到 UIBinder 代码中。例如,您可能有:

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">

<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
         xmlns:g='urn:import:com.google.gwt.user.client.ui'>

<ui:style>
    .outsidePanel {
        background: #00F;
    }
</ui:style>

<g:HTMLPanel styleName="{style.outsidePanel}">
    Hello, World!
</g:HTMLPanel>
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,您可以在 ui:style 部分中编辑 CSS,按 F5 并查看更改,然后进行更多更改等。无需复制文件。

这是获取更多信息的好链接: https: //developers.google.com/web-toolkit/doc/latest/DevGuideUiBinder#Hello_Stylish_World

第三种方法是使用 Google Chrome 的开发工具 (CTRL-Shift-I) 或 Firefox 中的 F12。在那里,您可以内联编辑 CSS,而无需修改文件。找出所有正确的值,添加新值,删除旧值,然后对 CSS 文件进行相同的更改。这样您就不必不断重新部署来查看更改。

我个人使用#2 和#3 的组合。

  • 这个问题的作者实际上提倡使用 CSS Client Bundle,而不是在 UI:Binder 中输入 CSS,我认为这是最糟糕的选择。应用程序中的每条 CSS 规则都必须在一个地方编写一次 - 任何其他方法都会导致不一致,并且如果需要更改,则需要大量工作,更不用说不支持多种皮肤。 (3认同)