【问题标题】:Changes to the CSS and HTML files in webapp directory not being picked up by SuperDevModeSuperDevMode 未获取 webapp 目录中 CSS 和 HTML 文件的更改
【发布时间】:2018-12-27 22:59:54
【问题描述】:

我认为 GWT 应该自动获取并重新加载对应用程序范围的 HTML 和 CSS 文件的更改,这些文件位于 webapp 文件夹中。但是,在我的情况下,情况并非如此,GWT 说“跳过编译,因为没有更改输入文件”。我不确定我应该在哪里编辑才能让这些文件也被观看。

这个项目是使用来自https://gwt-maven-plugin.github.io/gwt-maven-plugin/user-guide/archetype.html 的旧的gwt-maven 插件初始化的。

启动时的程序参数如下:-war app/target/App-1.0-SNAPSHOT -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -startupUrl index.html -logLevel INFO -codeServerPort 9997 -port 8888 com.example.www.App.App

或者我只是没有正确理解它并且 GWT 不应该监视 webapp 文件夹中的更改?这确实会阻碍前端开发的步伐。

【问题讨论】:

    标签: gwt livereload gwt-super-dev-mode


    【解决方案1】:

    不,src/main/webapp 不会被监视更改。 maven-war-plugin 会将这些文件处理成 target/${finalName}(并将依赖项复制到它的 WEB-INF/lib 并将项目类复制到 WEB-INF/classes),并且 DevMode 中的嵌入式服务器会将它们作为 web 应用程序提供服务。

    更新它们的方法是运行mvn war:exploded -Dgwt.compiler.skip(或者可能是mvn package -Dgwt.compiler.skip -DskipTests);然后你会告诉 DevMode 重新加载 webapp(从它的“Jetty”选项卡)

    【讨论】:

      【解决方案2】:

      GWT 将 .java(输入)文件编译为 javascript。 所以如果只修改一个css文件就不需要重新编译成js。 但是,在创建 war 文件时,public 目录中的文件可能会被更新。

      【讨论】:

      • 我明白了。虽然这意味着反映这些更改的唯一方法是再次创建 WAR 文件(本质上需要重新启动 SuperDevMode)?所以 GWT 真的希望您将尽可能多的 UI/样式代码放入单个小部件中
      • 如果我仍想编写一些应用程序范围的 CSS 但不想每次都重新启动以反映更改,该怎么办。我需要使用 CSS 注入或类似的东西吗?
      • 并非如此,您可以根据自己的需要进行选择。检查这个answer
      • 谢谢。这绝对有帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多