Normālas JS ielādes trūkumi
Interfeisam jāsāk renderēšana pēc js ielādes Ja starp js ir atkarības, tās ir jāielādē secībā atbilstoši atkarībām. Ja atkarības ir sarežģītas, ir apgrūtinošāk rakstīt un uzturēt kodu tā require.js radās plašo tautas masu balsī.
require.js loma
Ieviest asinhronu js ielādi, lai izvairītos no lapas nereaģēšanas Pārvaldiet atkarības starp moduļiem, lai atvieglotu koda rakstīšanu un uzturēšanu
require.js ielāde
Vispirms dodieties uz [oficiālo vietni] http://requirejs.org/ lejupielādētu jaunāko versiju
Ievietojiet lejupielādēto vai kopēto require.js projekta direktorijā
Ielādējiet require.js vēlamajā lapā Tiešā ielāde: Write <scrip{filter}t src="js/require.js"></scrip{filter}t> Asinhronā ielāde: <scrip{filter}t src="js/require.js" defer async="true" ></scrip{filter}t> Piezīme: asinhrons nozīmē, ka šis fails ir jāielādē asinhroni, lai izvairītos no tīmekļa lapas nereaģēšanas. IE neatbalsta asinhronu, tāpēc ielādējiet atlikšanas atribūtu; Kad require.js ir ielādēts, nākamais solis ir ielādēt savu kodu. Pieņemsim, ka mūsu pašu koda fails ir main.js, kas arī ievietots js direktorijā. Tātad, vienkārši uzrakstiet sekojošo: <scrip{filter}t src="js/require.js" data-main="js/main"></scrip{filter}t> Datu galvenā atribūta funkcija ir norādīt tīmekļa programmas galveno moduli. Iepriekš minētajā piemērā šis fails vispirms tiks ielādēts require.js main.js zem js direktorijas. Tā kā require.js noklusējuma faila sufikss ir js, varat saīsināt main.js uz galveno.
Kā uzrakstīt galveno moduli
Iepriekšējās sadaļas main.js sauc par galveno moduli. Tas nozīmē ievades metodi visam modulim.
Kā rakstīt main.js
Metodes, kas rakstītas tieši main.js, nepaļaujoties uz citiem moduļiem main.function() Galvenais modulis ir atkarīgs no citiem moduļiem, tāpēc izmantojiet funkciju require() main.js require(['modulisA', 'modulisB', 'modulisC'], funkcija (modulisA, modulisB, modulisC){ Kods šeit }); Funkcija require() pieņem divus parametrus: Pirmais parametrs ir masīvs, kas attēlo moduļus, no kuriem ir atkarīgi Otrais parametrs ir atzvanīšanas funkcija, kas tiks izsaukta pēc visu priekšpusē norādīto moduļu ielādes. Pievienotie moduļi tiek nodoti parametru veidā, lai tos varētu izmantot atzvanīšanas funkcijā.
Moduļu ielāde
Piemērs: Ja galvenā moduļa (main.js) atkarīgais modulis ir ['jquery', 'crypto-js', 'jebkas']
Ielāde pēc noklusējuma Ja šo trīs atkarīgo moduļu faili ir jquery.js, crypto-js.js, anything.js un main.js vienā direktorijā, tos var automātiski ielādēt saskaņā ar iepriekšējo sadaļu Konfigurācijas ielāde require.config() require.config() ir rakstīts galvenā moduļa (main.js) galvā.
Kā tiek rakstīti AMD moduļi
require.js ielādēts modulis, izmantojot AMD specifikāciju. Tas nozīmē, ka modulis ir jāraksta saskaņā ar AMD noteikumiem. Konkrēti, moduļi ir jādefinē ar īpašu define() funkciju. Ja modulis nav atkarīgs no citiem moduļiem, to var definēt tieši funkcijā define() Pieņemsim, ka tagad ir math.js fails, kas definē matemātikas moduli. Tad math.js raksta:
Tālāk ir aprakstīts, kā ielādēt.
Ja modulis ir atkarīgs arī no citiem moduļiem, tad funkcijas define() pirmajam argumentam jābūt masīvam, kas norāda moduļa atkarības.
Kad funkcija require() ielādē iepriekš minēto moduli, tā vispirms ielādēs myLib.js failu.
Ielādējiet moduļus, kas nav AMD
Tirgū ir daudz moduļu, kas neatbilst AMD specifikācijai, require.js var ielādēt Pirms šos moduļus var ielādēt, tie ir jāiestata uz require.config(), lai definētu dažas no to īpašībām Piemēram, noamd.js un noamddeps.js abi moduļi nav AMD moduļi, un, ja vēlaties tos ielādēt, jums ir jādefinē to īpašības:
require.js pieņem konfigurācijas objektu, kuram papildus rekvizītam paths ir arī shim rekvizīts, kas īpaši paredzēts moduļu, kas nav AMD, konfigurēšanai. Konkrēti, katrs modulis definē: - eksporta vērtība (izejas mainīgā nosaukums): norāda moduļa nosaukumu, kad tas tiek izsaukts ārēji - deps masīvs: norāda šī moduļa atkarības Piemēram, jQuery spraudni var definēt šādi:
require.js spraudnis
require.js piedāvā arī virkni spraudņu, kas ievieš dažas īpašas funkcijas Domready spraudnis ļauj atzvanīšanas funkcijai darboties pēc lapas DOM struktūras ielādes:
Teksta un attēlu spraudņi, kas ļauj require.js ielādēt teksta un attēlu failus:
Līdzīgi spraudņi ietver JSON un MDOWN JSON un Markdown failu ielādei.
|