Men ancha vaqtdan beri reaktiv ishlab chiqaruvchi bo'ldim. Va men uchun hammasi shaxsiy loyihalarimni kuchaytirish uchun yangi texnologiyani izlashdan boshlandi. Yillar o'tib - men to'liq vaqtli React dasturchisi sifatida ishlayapman va bu haqda o'zimni yaxshi his qila olmayman.

Bu men atrofga qaramayman degani emas. Men ish uchun mukammal vositani topishga harakat qiladigan odamman, garchi u mening malakamga kirmagan bo'lsa ham (hali). Va, shubhasiz, Vue so'nggi paytlarda juda ko'p shov-shuvga sabab bo'ldi, shuning uchun o'tish qiyin edi.

Lekin har safar rasmiy hujjatlarga qaraganimda, ular meni eskirib qolgan va men qilgan ishimga nisbatan orqaga qadam bo‘lgan narsa bilan kutib olishdi. Bu hujjatlar bilan bog'liqmi yoki menikimi, amin emasman, lekin biz shu erdamiz. Va atrofimda ko'rgan narsalarga qaraganda - men yolg'iz emasman, shuning uchun barcha muqaddas urushlar.

Yaxshiyamki, mening bir do'stim menga ko'rsatdiki, Vue siz uning birinchi sahifasida ko'rganingiz shart emas, aslida u juda zo'r va zamonaviy bo'lishi mumkin. U meni bog'ladivue-class-componentva bu hamma narsani o'zgartirdi.

Men uchun, Reaktsiya ishlab chiqaruvchisi sifatida, bu to'g'ridan-to'g'ri birinchi sahifada, hatto logotipning tepasida yoki qalqib chiquvchi oynada e'lon qilinishi kerak edi, yoki men bilmayman ... siz fikrni tushundingiz. Bu meni qazishni davom ettirishga majbur qilgan vahiyga o'xshardi. Va men shunga o'xshash narsa bilan yakunlandim

Men hech bo'lmaganda hayratda qoldim.

Men bilan yakunlangan narsa reaksiyaga o'xshash komponent bo'ldi, CSS-modullari qutidan tashqarida va hatto pug kabi shablonli dvigatellar! Hammasi birgalikda ishlaydi, mening veb-paket konfiguratsiyasida hech narsani o'zgartirmasdan (deyarli) va shunga o'xshash.

Meni noto'g'ri tushunmang, veb-paket konfiguratsiyasini o'zgartirish qiyin emas, ayniqsa siz buni bir necha marta qilgan bo'lsangiz. Ammo biz shaxsiy loyihalar haqida gapirayapmiz, bu erda sizning vaqtingiz cheklangan va siz bu vaqtni qozonxonaga emas, balki haqiqiy g'oyaga sarflashni xohlaysiz.

Va bu hamma narsa faqat sehrli degani emas. Men o'zim sehrning katta muxlisi emasman, LEKIN! Yon loyihada, agar qo'limda bunday vosita bo'lsa, qancha vaqtni tejashim mumkinligini tasavvur qila olaman.

Va bundan ham yaxshisi - men hamma narsani qayta o'rganishim shart emas edi! Xo'sh, deyarli. Savollarimning aksariyatiga hujjatlarda javob berilgan va siz o'rganishingiz kerak bo'lgan narsa - sintaksis va yorliqlar. Ammo agar xohlasangiz, JSX-dan ham foydalanishingiz mumkin, ha, har kuni React-da ishlatadigan JSX!

Va ro'yxat davom etadi. Ayni paytda men bir muncha vaqt ishlagan loyiham uchun frontendni qayta tiklayapman. Va men buni Vue-da qilyapman. Nega? Chunki u tezroq. Bu mening maqsadlarimga rekord vaqt ichida erishishimga yordam beradi.

Rostini aytsam, qurilish tuzilishi jihatidan menga juda murakkab narsa kerak emas, mening ilovam yetarlicha soddaki, react-create-app yoki bu holda vue-cli bilan cue-loader men xohlagan hamma narsani bajara oladi. Va bu mening hayotimni yaxshilaydi.

Men shunchaki bir oz <style lang="sass" module> qoldira olaman va men CSS modullari bilan ishlashga tayyorman!

Shablonlar ichida pug ishlatmoqchimisiz? <template lang="pug">qiladi. Hodisa yoki rekvizit bog'lashlari ham juda oddiy. Klaviatura voqealari uchun qutidan tashqari qo'llab-quvvatlash mo''jizalar yaratadi.

Tashqi qaramlikni keltirib chiqarishning hojati yo'q, shunchaki @keyup.shift bajaring va u ishlaydi!

Bilaman, bu shubhali React ishlab chiqaruvchisi uchun biroz sehrli, lekin shaxsan men bunga arziydi deb o'ylayman. Bu hech qanday muammosiz emas edi, shuning uchun men hatto Vue-ni sinab ko'rgan React ishlab chiqaruvchisi sifatida foydali bo'lgan maslahatlar bilan pastki qismga butun bo'limni qo'shdim.

Va agar siz Vue-ni shaxsiy narsalaringizda to'liq qamrab olishga ishonchingiz komil bo'lmasa ham - uni React bilan birlashtirib, ikkalasidan ham foydalanishingiz mumkin! Biroz aqldan ozgandek tuyuladi, lekin siz ham bu yondashuvni tekshirishingiz kerak.

Oxirida shuni aytmoqchiman. Faqat sinab ko'ring. Men bunga shubha bilan qaradim, lekin bu ajoyib chiqdi. Yaqinda men Vue-ni keng miqyosli ishlab chiqarishda ishlatmayman (uni bajara olmagani uchun emas, balki bu men qiladigan narsa emas), lekin mening shaxsiy loyihalarim hozir juda ko'p Vue-ni ko'radi, bu aniq.

Foydali narsalar

  • "Rasmiy Vue hujjatlari"
  • "Vue-Router hujjatlari"
  • "Vue-Loader Docs"
  • Vuex Docs (davlat boshqaruvi, redux/flux deb o'ylang)
  • "JSX in Vue" (avval Vue haqida bir oz o'qing)
  • "Vue Class komponenti" (ES6)

E'tibor berish kerak bo'lgan narsalar

  • Odatiy bo'lib, Vue faqat hashdan CSS-modullari uchun sinf nomi sifatida foydalanadi, bu ishlab chiqarish uchun yaxshi, lekin ishlab chiqish juda qiyin. Siz vue-loader konfiguratsiyasini ochishni xohlashingiz mumkin ( sukut bo'yichabuild/vue-loader.conf.js) va shunga o'xshash biror narsa qo'shing. Bu sizning CSS-Modules sinf nomlarini Button_chs3f kabi ko'rsatadi.
  • Routerni HTML5 tarixi rejimiga o'zgartirishni xohlashingiz mumkin (shuning uchun u react-router ga o'xshash ishlaydi. Buning uchun src/router/index.js ni oching va new Router({}) ga mode: 'history' qo'shing.
  • Ko'pgina shablonlar uchun Vue shablon bloklaridan (Pug kabi) foydalanishni tavsiya etaman, bu JSX-da hamma narsani qilishdan ko'ra tezroq va o'qilishi mumkin (JSX uchun hech qanday huquqbuzarlik yo'q).
  • Bu qandaydir tarzda men kutganimdek aniq emas edi. Agar siz bolalarni komponentga o'tkazmoqchi bo'lsangiz (masalan, <my-component>Child Content</my-component> ga o'xshash narsa bo'lsa), unda uning shablonida kamida bitta <slot /> tegi bo'lishi kerak.
  • Nihoyat - vue-class-component dekoratorning to'g'ri ishlashi uchun transform-decorators-legacy babel plaginidan foydalanish kerakligini unutmang. Bundan tashqari, ushbu dekorator ichida yangi va yorqin komponentingizdan foydalanishni xohlagan barcha komponentlar va rekvizitlarni belgilashingiz kerak bo'ladi. U asosiy Vue konstruktori bilan bir xil ma'lumotlar strukturasiga amal qiladi, shuning uchun variantlarning to'liq ro'yxati uchun Vue hujjatlariga qarang.

Va bu bilan siz ketishingiz kerak! Umid qilamanki, bu sizga yordam beradi va bularning barchasini tushunish va Vue-dan zavqlanishni boshlash uchun sizga uchta urinish kerak bo'lmaydi, xuddi men kabi.