Build and tests
Käyttäjäliittymän kokoaja toimii osana webforJ build plugin tavoitteita. Lisää liitin kerran, kuten siellä on osoitettu, ja tavallinen mvn package tai gradle build tuottaa sovelluksen, jossa sen etupään koodi on käännetty, kun taas mvn test suorittaa etupään testit samanaikaisesti Java-täydentymistestien kanssa. Tämä sivu kattaa, mitä kokoaja tekee näiden vaiheiden aikana.
Kehityksen valvonta
watch-vaihe on se, jonka suoritat käsin kehityksen aikana sovelluksen ohella. Se kokoaa etupään kerran, sitten uudelleenrakentaa jokaisen muutoksen yhteydessä ja päivittää selaimen.
mvn compile webforj:watch spring-boot:run
WebforJ-projekti asettaa tämän oletustavoitteekseen, joten mvn ilman argumentteja käynnistää valvonnan ja sovelluksen yhdessä. Uudelleenlatauskäyttäytyminen, joka aiheuttaa tyylitiedoston muutoksen, joka sovelletaan paikallaan skriptimuutoksen yhteydessä, joka lataa näkymän uudelleen, käsitellään Frontend watch.
Etupään testit
test-vaihe suorittaa Bun-testisuorittajan src/main/frontend-hakemistossa testivaiheen aikana, joten mvn test suorittaa etupään testit Java-testien kanssa. Kun lähdejuuri ei sisällä testitiedostoja, vaihe ohitetaan, ja epäonnistuva etupään testi epäonnistuttaa käännöksen, joten rikki mennyt etupää pysäyttää julkaisun samalla tavalla kuin rikki mennyt Java-testi. Näiden testien kirjoittamisesta, katso Frontend testing.
Kääntäjän säätäminen
Kääntäjä lukee asetukset tiedostosta src/main/frontend/bun.config.ts, joka on avain laajennustunnukselle, joten asetus saavuttaa oikean kääntäjän ilman lippua käännöksessä. Katso SCSS ja Sass toimivasta esimerkistä, joka antaa SCSS-kääntäjälle latauspolun.
Tuotantopaketin kokoaminen
bundle-vaihe suoritetaan prepare-package aikana, joten sovelluksen pakkaaminen kokoaa sen etupään tuotantoa varten. Tuotantokäännös eroaa kehityskäännöksestä kahdella tavalla, jotka ovat tärkeitä, kun sovellus on otettu käyttöön.
- Hashatut tiedostonimet. Jokainen lähtötiedosto sisältää sisällön hashin nimessään. Selain voi sitten välimuistittaa tiedoston pitkään, koska sisällön muutos tuottaa uuden nimen, ja uusi nimi pakottaa tuoretta noutoa. Välimuistitus pysyy turvallisena ilman manuaalista versionnostoa.
- Minimoitu lähtö. Tyhjät merkit ja kuollut koodi poistetaan, joten selaimen lataamat tiedostot ovat niin pieniä kuin käännös voi ne tehdä.
Kehityskäännös ohittaa molemmat. Se säilyttää vakaat nimet ja luettavan ulostulon, jolloin valvonta voi vaihtaa yhden tiedoston paikallaan ja voit lukea, mitä ladataan, kun vianetsit.
Koska minimointi on osa tätä vaihetta, projekti, joka käyttää kokoajaa, ei tarvitse mitään muuta toimitettaessa minimoituja CSS- ja JavaScript-tiedostoja. Sovelluksessa, joka lataa resursseja resurssien merkintöjen kautta ilman kokoajaa, minimoija liitin kattaa sen tuotantominimoinnin sen sijaan.
Kiireellinen paketti
Oletuksena jokainen näkymä lataa vain sen etupään, jota se käyttää, kun kyseisen luokan komponentti luodaan, joten näkymä maksaa vain siitä, mitä se renderöi.
Kiireinen tila lataa koko etupään sovelluksen käynnistyessä yhtenä pakettina, sen sijaan että sitä ladataan näkymä kerrallaan. Ota se käyttöön eager-valinnalla:
- Maven
- Gradle
<plugin>
<groupId>com.webforj</groupId>
<artifactId>webforj-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<eager>true</eager>
</configuration>
</plugin>
webforj {
eager = true
}
Kiireinen on pois päältä oletuksena, ja näkymäkohtainen malli sopii useimmille sovelluksille. Käytä sitä, kun haluat, että koko etupää on paikallaan alusta alkaen sen sijaan, että se ladataan näkymien renderoituessa.