Js 更改不会反映在浏览器中,除非我们重新部署 war 文件

Js changes are not reflecting in the browser unless we redeploy the war file

本文关键字:新部署 我们 非我 文件 war 部署 浏览器 Js      更新时间:2023-09-26

我使用 IntelliJ 开发了一个 Spring Boot Web 应用程序。对于每个 Js 和 html 更改,我都必须重新部署 war 文件才能将更改反映在浏览器上。有没有办法在不重新部署的情况下即时反映更改?

您可以像nginx一样实现实时缓存。 为CSS和UI相关的更改创建单独的项目,并链接到nginx的资产文件夹。 然后你必须启动那个nginx服务器。 因此,当您对文件进行更改时,无需一次又一次地重新启动服务器。欲了解更多信息 https://www.nginx.com/blog/scaling-web-applications-nginx-part-ii-caching-monitoring/#caching

如果您使用的是 springboot 版本>= 1.3,则可以使用 spring-boot-devtools 模块,其中包括一个嵌入式 liveReload 服务器。从那里,您只需要一个支持liveReload扩展的浏览器。

马文聚酰胺

<dependencies>
 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-devtools</artifactId>
 </dependency>
</dependencies>

格拉德尔

dependencies {
    compile("org.springframework.boot:spring-boot-devtools")
}

自动更新浏览器代码的最简单方法是将 Grunt 与 watch 和 livereload 一起使用。当您保存对文件的更改时,它将自动推送到浏览器。不需要浏览器插件。

下面的 plunk 演示了最基本的用法。将文件拖放到任何目录中,然后运行

npm install -g grunt-cli
npm install
grunt serve

它将启动一个提供索引.html的Web服务器(连接)。对 index.html 所做的任何更改都将自动发送到浏览器。Connect 还配置为将任何请求中继到另一个 HTTP 服务器(通常是本地 Jetty 实例)/api/

我包括了一个典型的配置,您将JavaScript放在app/scripts下,CSS放在app/styles下,图像放在app/images下。其中任何一个的更新也将推送到浏览器。

相关文章: