Programming TypeScript
JavaScript modullarining qisqacha tarixi
Download 1.81 Mb.
|
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)
JavaScript modullarining qisqacha tarixiTypeScript JavaScript-ni kompilyatsiya qilgani va u bilan hamkorlik qilganligi sababli, u JavaScript dasturchilari foydalanadigan turli modul standartlarini qo'llab-quvvatlashi kerak. Dastlab (1995 yilda) JavaScript hech qanday modul tizimini qo'llab-quvvatlamadi. Modullarsiz hamma narsa global nomlar maydonida e'lon qilindi, bu esa ilovalarni yaratish va kengaytirishni qiyinlashtirdi. O'zgaruvchilar nomlari tezda tugashi va o'zgaruvchilar nomlari o'rtasida to'qnashuvlarga duch kelishingiz mumkin; va har bir modul uchun aniq API-larni ko'rsatmasdan, modulning qaysi qismlarini ishlatishingiz kerakligini va qaysi qismlar shaxsiy amalga oshirish tafsilotlarini bilish qiyin. oyna oynasiga tayinlangan ob'ektlar yoki Darhol chaqirilgan funksiya ifodalari (IIFE) bilan modullarni simulyatsiya qildilar va ularni o'zlarining ilovalaridagi boshqa modullarga (va bir xil veb-sahifada joylashgan boshqa ilovalarda) foydalanishlari mumkin bo'ldi. ). Bu shunday ko'rinardi: oyna . emailListModule = { renderList () {} // ... } oyna . emailComposerModule = { renderComposer () {} // ... } oyna . appModule = { renderApp () { oyna . emailListModule . renderList () oynasi . emailComposerModule . renderComposer () } } JavaScript-ni yuklash va ishga tushirish brauzerning UI-ni bloklaganligi sababli, veb-ilova o'sib borayotgani va ko'proq kod qatorlarini o'z ichiga olganligi sababli, foydalanuvchi brauzeri sekinroq va sekinroq bo'ladi. Shu sababli, aqlli dasturchilar JavaScript-ni sahifa yuklangandan so'ng, barchasini bir zarbada yuklamasdan, dinamik ravishda yuklashni boshladilar. JavaScript birinchi marta chiqarilgandan deyarli 10 yil o'tgach, Dojo (Aleks Rassell, 2004), YUI (Tomas Sha, 2005) va sahifaning dastlabki yuklanishi sodir bo'lgandan keyin JavaScript kodini dangasa (va ko'pincha asenkron) yuklash usullari . Modulni dangasa va asinxron yuklash uchta narsani anglatadi: Modullar yaxshi inkapsullangan bo'lishi kerak. Aks holda, bog'liqliklar oqimida sahifa buzilgan bo'lishi mumkin. Modullar orasidagi bog'liqliklar aniq bo'lishi kerak edi. Aks holda, qaysi modullarni va qanday tartibda yuklash kerakligini bilmaymiz. Har bir modulga ilova ichida noyob identifikator kerak edi. Aks holda, qanday modullarni yuklash kerakligini aniqlashning ishonchli usuli yo'q. LABjs bilan modulni yuklash quyidagicha ko'rinadi: $LAB . skript ( '/emailBaseModule.js' ). kuting () . skript ( '/emailListModule.js' ) . skript ( '/emailComposerModule.js' ) Taxminan bir vaqtning o'zida NodeJS (Ryan Dahl, 2009) ishlab chiqilmoqda va uning yaratuvchilari JavaScript-ning o'sib borayotgan azoblaridan va boshqa tillardan saboq oldilar va to'g'ridan-to'g'ri platformada modul tizimini yaratishga qaror qilishdi. Har qanday yaxshi modul tizimi singari, u LABjs va YUI ning yuklagichlari kabi uchta mezonga javob berishi kerak edi. NodeJS buni CommonJS modul standarti bilan amalga oshirdi, u quyidagicha ko'rinardi: // emailBaseModule.js Download 1.81 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling