Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 13010|Odgovoriti: 1

[zahteva] Javascrip{filter}tmodule - load module require.js

[Kopiraj povezavo]
Objavljeno na 11. 10. 2017 09:31:50 | | |
Slabosti običajnega JS obremenjevanja

Vmesnik mora začeti z upodabljanjem po nalaganju js
Če obstajajo odvisnosti med js, jih je treba naložiti po vrstnem redu glede na odvisnosti. Če so odvisnosti kompleksne, je pisanje in vzdrževanje kode bolj zahtevno
Tako require.js nastal v glasu širokih množic ljudstva.

Vloga require.js

Implementirajte asinhrono nalaganje js, da se izognete neodzivnosti strani
Upravljanje odvisnosti med moduli za lažje pisanje in vzdrževanje kode

require.js nalaganje

Najprej obiščite [uradno spletno stran] http://requirejs.org/ prenesite najnovejšo različico

Preneseni ali kopirani require.js shranite v imenik projekta

Naloži require.js na želeno stran
Direct load: Write <scrip{filter}t src="js/require.js"></scrip{filter}t>
Asinhrono nalaganje: <scrip{filter}t src="js/require.js" defer async="true" ></scrip{filter}t>
Opomba: asinhrona datoteka pomeni, da je treba to datoteko naložiti asinhrono, da spletna stran ne postane neodzivna. IE ne podpira asinhronizacije, zato naloži atribut odloženega;
Ko je require.js naložen, je naslednji korak nalaganje lastne kode. Predpostavimo, da je naša lastna kodna datoteka main.js, prav tako postavljena pod js imenik. Torej, preprosto napišite naslednje: <scrip{filter}t src="js/require.js" data-main="js/main"></scrip{filter}t>
Funkcija atributa data-main je določiti glavni modul spletnega programa. V zgornjem primeru bo ta datoteka najprej naložena require.js main.js pod js mapo. Ker je require.js privzeta pripona js, lahko main.js na main.

Kako napisati glavni modul

main.js iz prejšnjega razdelka se imenuje glavni modul. To pomeni način vstopa za celoten modul.

Kako napisati main.js

Metode, napisane neposredno na main.js brez zanašanja na druge module
main.function()
Glavni modul je odvisen od drugih modulov, zato uporabite funkcijo require()
main.js
zahtevajo(['moduleA', 'moduleB', 'moduleC'], funkcija (moduleA, modulB, modulC){
Nekaj kode tukaj
});
Funkcija zahteva() sprejema dva parametra:
Prvi parameter je polje, ki predstavlja module, na katere je treba biti odvisen
Drugi parameter je funkcija povratnega klica, ki se pokliče po nalaganju vseh modulov, navedenih na sprednji strani. Dodani moduli se posredujejo v obliki parametrov, da jih je mogoče uporabiti znotraj funkcije callback.

Nalaganje modulov

Primer: Če je odvisni modul glavnega modula (main.js) ['jquery', 'crypto-js', 'karkoli']

Privzeto nalaganje
Če so datoteke teh treh odvisnih modulov jquery.js, crypto-js.js, anything.js in main.js v isti mapi, se lahko samodejno naložijo v skladu s prejšnjim razdelkom
Config load require.config()
require.config() je zapisan v glavi glavnega modula (main.js).


Kako so napisani AMD moduli

require.js naložen modul, po AMD specifikaciji. To pomeni, da mora biti modul napisan v skladu z AMD-jevimi predpisi.
Natančneje, moduli morajo biti definirani s specifično funkcijo define(). Če modul ni odvisen od drugih modulov, ga lahko definiramo neposredno v funkciji define()
Predpostavimo, da zdaj obstaja math.js datoteka, ki definira matematični modul. Nato math.js napišite:

Tukaj je, kako naložiti:


Če modul je odvisen tudi od drugih modulov, mora biti prvi argument funkcije define() polje, ki označuje odvisnosti modula.

Ko funkcija zahteva() naloži zgornji modul, se najprej naloži myLib.js datoteka.

Nalaganje ne-AMD modulov

Na trgu je veliko modulov, ki ne ustrezajo AMD specifikacijam, require.js jih je mogoče naložiti
Preden se ti moduli lahko naložijo, jih je treba nastaviti tako, da zahtevajo require.config() za določitev nekaterih njihovih značilnosti
Na primer, noamd.js in noamddeps.js oba modula nista AMD, in če ju želiš naložiti, moraš definirati njune značilnosti:

require.js sprejema konfiguracijski objekt, ki poleg lastnosti poti ima tudi lastnost podlage, namenjeno konfiguraciji modulov, ki niso AMD.
Natančneje, vsak modul definira:
- izvozna vrednost (ime izhodne spremenljivke): označuje ime modula, ko je klican zunaj
- DEPS matrika: označuje odvisnosti tega modula
Na primer, vtičnik jQuery lahko definiramo takole:


require.js vtičnik

require.js ponuja tudi vrsto vtičnikov, ki vključujejo nekatere posebne funkcije
Vtičnik domready omogoča, da funkcija povratnih klicev teče po nalaganju strukture DOM strani:


Vtičniki za besedilo in slike, ki require.js omogočajo nalaganje besedilnih in slikovnih datotek:


Podobni vtičniki vključujejo JSON in MDOWN za nalaganje JSON in Markdown datotek.





Prejšnji:Hahahahaha
Naslednji:Baidu koordinate se pretvorijo v koordinate WGS84
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com