2017-09-18 1 views
1

Ich arbeite mit einem Spring-Boot-Projekt und das Front-End ist in HTML/CSS/JavaScript geschrieben. Das ist bisher einfach und das einzige Problem, das ich empfinde, ist, dass ich jedes Mal, wenn ich das Frontend ändere, das IntelliJ immer wieder schließen und neu starten muss. Das ist nervig und sehr zeitaufwendig. Nachdem ich einige Online-Posts gelesen hatte, machte ich die folgenden Schritte, die scheinen, dass das Aktualisieren des Backends für das Programm erkannt wird, aber das ursprüngliche Bedürfnis ist immer noch unbefriedigend.Live-Update der Front-End-Änderung des Spring Boot-Projekts

A. ich die Maven-Abhängigkeit in der Datei POM verwenden,

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-devtools</artifactId> 
     <version>1.5.7.RELEASE</version> 
     <optional>true</optional> 
    </dependency> 

Der Doc sagt, dass die Entwickler-Tools automatisch deaktiviert werden, wenn eine vollständig integrierte Anwendung ausgeführt wird. Wenn Ihre Anwendung mit java -jar gestartet wird oder wenn sie mit einem speziellen Classloader gestartet wird, wird sie als "Produktionsanwendung" betrachtet. Also, ich habe die Verpackung in die war Datei im POM wie <packaging>war</packaging>

Auch in der IntelliJ Einstellung geändert haben, habe ich geändert Compiler -> make project automatically

B. Ich LiveReload Chrome extension an den Browser hinzugefügt. Wenn ich auf das Symbol geklickt habe, scheint das zu funktionieren, um die Seite zu aktualisieren. Aber die interne Änderung der HTML spiegelt nicht den Browser wider.

Was muss ich tun, damit Live die Frontend-Änderung des Spring-Boot-Projekts in den Chrome-Browser aktualisiert? Dies wird viel Wissen helfen, danke.

aktualisieren

Als jemand fragte, plane ich die Front-End zu entwickeln, um die thymeleaf mit und die Abhängigkeit in der POM-Datei haben.

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-thymeleaf</artifactId> 
    </dependency> 

Die application.properties Datei unten vorgesehen ist,

enter image description here

Cache für den Thymeleaf als false vorgesehen.

spring.thymeleaf.cache=false

+1

Verwenden Sie Thymeleaf? – glytching

+0

Ich habe die Abhängigkeit und ich plane zu verwenden. Aber jetzt ist die Seite nur eine Bootstrap-Vorlage, die von der Website heruntergeladen wurde. – Arefe

+1

Bei der Verwendung von Thymeleaf 'hot deploy' muss nur diese Eigenschaft festgelegt werden: 'spring.thymeleaf.cache = false' und Änderungen an Ihrer Ansichtsebene (HTML, JS, CSS) werden nur durch Ausführen eines Builds in Ihrer IDE implementiert z.B 'SHIFT' +' F9' in IntelliJ. – glytching

Antwort

0

Die Lösung, die ich nützlich finden, wie im Kommentar vorgeschlagen ist das Projekt erneut und dann zu bauen, aktualisieren/Live die Seite im Browser aktualisieren. In Mac OS, wird es COMMAND + FN + F9 oder über die GUI

enter image description here

Sie sicher sein, das Projekt nicht neu starten müssen, die eine Menge Zeit spart.

Verwandte Themen