Siirry pääsisältöön

Spring DevTools

Avaa ChatGPT:ssä

Spring DevTools tarjoaa automaattiset sovelluksen uudelleenkäynnistykset koodimuutosten yhteydessä. webforJ DevTools lisää automaattisen selainpäivityksen - kun Spring käynnistää uudelleen sovelluksesi, selain päivittyy automaattisesti webforJ:n LiveReload-palvelimen kautta.

Eri tiedostotyypit laukaisevat erilaisia uudelleenlatauskäyttäytymisiä. Java-koodimuutokset aiheuttavat täydellisen Spring-uudelleenkäynnistyksen ja selainpäivityksen. CSS- ja kuvamuutokset päivitetään ilman sivun lataamista, säilyttäen lomakedatan ja sovellustilan.

Frontend-muutokset

Muutokset, jotka sijaitsevat src/main/frontend-kansiossa, käsitellään frontend watch -työkalun avulla, joka kokoaa ne uudelleen ja päivittää selaimen yhdessä palvelimen kanssa.

Ymmärrä webforJ DevTools

webforJ laajentaa Spring DevToolsia selaimen synkronoinnilla. Kun Spring havaitsee tiedostomuutoksia ja käynnistää uudelleen, webforJ DevTools päivittää selaimesi automaattisesti.

Uudelleenlatauskäyttäytyminen

Eri tiedostotyypit laukaisevat erilaisia uudelleenlatausstrategioita:

  • Java-tiedostot: Täydellinen selainikkunan lataus Spring-uudelleenkäynnistyksen jälkeen
  • JavaScript-tiedostot: Täydellinen selainikkunan lataus Spring-uudelleenkäynnistyksen jälkeen
  • CSS-tiedostot: Tyylipäivitykset ilman sivun lataamista
  • Kuvat: Päivitetään paikallaan ilman sivun lataamista

Riippuvuudet

Lisää sekä Spring DevTools että webforJ DevTools projektiisi:

pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>

<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-spring-devtools</artifactId>
<version>${webforj.version}</version>
<optional>true</optional>
</dependency>

Kokoonpano

Ota käyttöön webforJ DevTools application.properties-tiedostossasi:

application.properties
# Ota käyttöön webforJ:n selaimen automaattinen päivitys
webforj.devtools.livereload.enabled=true

# Ota käyttöön välitön sammuttaminen nopeampia uudelleenkäynnistyksiä varten
server.shutdown=immediate

Kehittynyt kokoonpano

Määritä WebSocket-yhteys ja uudelleenlatauskäyttäytyminen:

application.properties
# WebSocket-palvelimen portti (oletus: 35730)
webforj.devtools.livereload.websocket-port=35730

# WebSocket-päätteentien, (oletus: /webforj-devtools-ws)
webforj.devtools.livereload.websocket-path=/webforj-devtools-ws

# Sydämenlyöntiväli millisekunteina (oletus: 30000)
webforj.devtools.livereload.heartbeat-interval=30000

# Ota käyttöön kuuma uudelleenlataus staattisia resursseja varten (oletus: true)
webforj.devtools.livereload.static-resources-enabled=true

25.03 Määritä selaimen avautuminen sovelluksen käynnistyessä:

application.properties
# Ota käyttöön selaimen avautuminen (oletus: false)
webforj.devtools.browser.open=true

# localhost, isäntänimi tai IP-osoite (oletus: localhost)
webforj.devtools.browser.host=localhost