VaniilaJS Export && VanillaJs import
Falim te (konačno, delimično izgleda :/ ) bože pa ovo radi i u ff i u chrome. Ne mora više da se nakucava ručno u glavu svaki poziv za drugi fajl/skriptu već organizuješ lepo svoj kod i onda ideš dalje .. sa osećajem da je skoro pa kao u svakom normalnom programskom/skripting jeziku gde za najobičnije hebeno očitavanje tekstualnog fajla sa hard diska nije potrebno dodati dodatnih 100 kila koda u vidu neke third-party biblioteke.
Dakle ovako, jedan mali stack-tool (mali js fwk) kojeg sam napisao nešto ranije, pokušavam sada da nateram da radi i sa import/export.
Taj mali fwk radi savršeno i bazira se na Object.create, Object.defineProperty i Object.defineProperties filozofiju.
Naime, taj fwk je dovoljno mali da mu i ne treba nikakav import u toku run-time-a dok document.readystate nije "complete".
A i tada, dok se učitava sve, mogu da 'presretnem' bilo šta dok je state -> `interactive`.
Znači, u jednom fajlu je sve i sve radi savršeno s' tim što varijanta sa da tako kažem `izvozom modula` jednostavno preskače document.readystate `interactive`, a baš tada treba da nakuca u glavu, da kreira još jedan init-modul koji se uvek uspešno učita pre nego li dođe do kraja -body- taga .. Što bi se reklo da je skripta spremna za instant korišćenje u toku run-timea, tj. inicijalizacije.
Ceo fazon je u tome što se body -> onload (kao tag argument) u tom mom fwk-u, zamenjuje sa document.onreadystatechange pa unutra switch (document.readystate) {}.
Ako exportujem pa importujem, js interpreter/parser u potpunosti preskače state.interactive slučaj.
Bez obzira da li ja taj switch premestio iz samog export modula u import skriptu.
Patio sam se sinoć duže od tri sata. Nznm, nešto nisam pročitao, nepto predvideo itd.
Glavno pitanje glasi: kako da iskontrolišem `stanje` u toku učitavanja sa VanillaJS uvozom modula?
Kada u htmlu stoji <script type="module"> interactive mod - ne postoji.
Kada je samo script ili .. type="text/javascript" - nema problema.
Konzola ne pišti nigde, sve je na mestu i sa i bez 'strict mode'; .. i kao type > module i uobičajeno.
Ako je neko željan da me prosvetli a nije mu jasno moje izlaganje, potrudiću se da budem detaljniji.
Hvala unapred.
about:networking