Znano je, da VITE -jeva funkcija zamenjave modula (HMR) vpliva na težave s tipkanjem in občutljivostjo primerov, zlasti pri uvozu datotek. Tu so ključne točke v zvezi s temi vprašanji:
Vprašanja o občutljivosti primerov
1. Občutljivost primerov v različnih operacijskih sistemih: Vite lahko naleti na težave s HMR v datotečnih sistemih, ki niso občutljivi na primer (na primer v sistemu Windows in MacOS), ko se primer imen datotek v uvozu ne ujema z dejanskimi imeni datotek. Na primer, če je datoteka imenovana `myComponent.Vue`, jo bo uvozila kot" myComponent.Vue ". To lahko povzroči, da Vite ne zazna sprememb, kar vodi do nepričakovanega vedenja med razvojem [1].
2. Uporabniške izkušnje: Več uporabnikov je poročalo, da so porabili veliko časa za odpravljanje težav s HMR, ki so jih na koncu zasledili do napačnega ohišja v imenih datotek. Na primer, en uporabnik je omenil, da je en sam znak v imenu datoteke povzročil, da so zapravili cel dan in poskušali popraviti napako [1]. Drugi uporabnik je ugotovil, da so naleteli na podobne težave pri delu z React Projects, kar kaže na to, da je to pogosta slaba [1].
Napake in uvozne poti
1. Absolutni in relativni uvoz: Vite je bilo opaziti, da ima težave pri odkrivanju sprememb v komponentah, uvoženih z absolutnimi potmi v primerjavi z relativnimi potmi. Uporabniki so ugotovili, da je prehod na relativni uvoz rešilo težave z odkrivanjem HMR [4]. To kaže, da lahko napake na poteh, bodisi zaradi napačnega ohišja ali napačnih specifikacij poti, privede do tega, da HMR ne deluje, kot je bilo pričakovano.
2. Nasveti za odpravljanje napak: Pri srečanju s HMR je priporočljivo dvojno preveriti uvozne poti za napačne napake in občutljivost primerov. Zagotavljanje, da se uvozne izjave natančno ujemajo z imeni datotek, lahko pomaga preprečiti tem skupnim pasti.
Zaključek
Če povzamemo, lahko na HMR Vite pomembno vplivajo na težave s tipkanjem in občutljivostjo primerov pri uvozu datotek. Razvijalci bi morali biti pozorni na natančno ohišje imena datotek in pravilnost uvoznih poti, da se zagotovi gladka funkcionalnost HMR. To je še posebej ključno v okoljih, kjer se občutljivost primerov razlikuje, na primer med macOS in okni.
Navedbe:[1] https://github.com/vitejs/vite/isissue/964
[2] https://forum.rescript-lang.org/t/vite-react-no-hmr-page-reloads-on-every-change/4700
[3] https://blog.logrocket.com/vite-doption-guide/
[4] https://stackoverflow.com/questions/73313176/vite-hmr-doesnt-detect-changes-to-components-nested-under-Sub-Folders
[5] https://stackoverflow.com/questions/tagged/hmr