Nå har htmx kommet i versjon 2.0, skriver DevClass.
Dette er den første nye hovedversjonen siden lanseringen av versjon 1.0 i november 2020.
Htmx er et et JavaScript-bibliotek som gjør det mulig å lage interaktive nettsider uten at du må skrive JavaScript selv. I stedet bruker du noen ekstra attributter på HTML-taggene dine, for eksempel for å gjøre et nettverkskall mot et API-endepunkt:
<button hx-post="/clicked"
hx-trigger="click"
hx-target="#parent-div"
hx-swap="outerHTML"
>
Click Me!
</button>
I eksempelet over vil et klikk på knappen trigge et HTTP POST-kall mot /clicked og så bruke innholdet fra responsen til å bytte ut DOM-elementet med ID-en "parent-div".
Fjerner IE-støtten
Ifølge lanseringsbloggposten er det ikke gjort så mange endringer i kjernefunksjonaliteten og i API-ene til htmx-biblioteket i versjon 2.0. Det har imidlertid skjedd en del ting "under panseret".
Med versjon 2.0 fjernes støtten for Internet Explorer helt, i tillegg til at alle utvidelser ("extensions") har blitt flyttet ut av hovedrepoet til sitt eget repo og også har fått en egen nettside: extensions.htmx.org.
I praksis betyr det at utvidelsene har sin egen versjonering, og kan videreutvikles uavhengig av hvor raskt eller tregt utviklingen av selve htmx foregår.
Bedre støtte for web-komponenter
De som hadde forventet en masse ny funksjonalitet i htmx 2.0 vil antagelig bli skuffet. For som de selv skriver: «Den største nyheten i denne versjonen – nettsiden vår støtter nå "dark mode"!»
Noe nytt er det imidlertid. Det har blant annet kommet en ny htmx.swap()-metode for å bytte ut innhold på en nettside med annet innhold. Denne erstatter og forbedrer den gamle selectAndSwap()-metoden.
Støtten for Web Components skal også ha blitt drastisk forbedret, noe du kan lese mer om her.
Hvis du bruker htmx 1.x i dag, trenger du ikke å gjøre særlig mange endringer i koden din for å ta i bruk versjon 2.0. Du finner en guide til hvordan du migrerer fra 1.0 til 2.0 her.
![image: Lager eget rammeverk: «Skal være så enkelt som mulig»](https://www.kode24.no/images/81345159.jpg?imageId=81345159&x=0&y=25.668449197861&cropw=100&croph=52.406417112299&width=512&height=308&compression=80)