[ plus_minus @ 27.11.2018. 15:36 ] @
Ono kad na native način `include-uješ` ili importuješ objekat iz druge skripte u `glavnu` skriptu. 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. |