Dart paketlar
Dart to'plami har qanday Dart loyihasining boshlang'ich nuqtasidir. Oldingi misollarda biz bezovta qilmadik haqida bu kabi biz edi foydalanish yagona fayl sintaksis misollar; ammo, ichida the haqiqiy dunyo, Biz har doim paketlar bilan ishlaymiz :
The asosiy foyda ning foydalanish va yaratish paketlar hisoblanadi bu the kod mumkin bo'l qayta ishlatilgan va birgalikda. Dart ekotizimida bu pub tomonidan amalga oshiriladi pub.dartlang.org saytiga bog'liqliklarni olish va yuborish imkonini beruvchi vositaveb-sayt va ombor.
The foydalanish ning a kutubxona paket ichida a loyiha qiladi bu a darhol qaramlik, va foydalanilgan kutubxona o'ziga xos bog'liqliklarga ega bo'lishi mumkin, ular o'tish bog'liqliklari deb ataladi.
In umumiy, U yerda bor ikki turlari ning Dart paket: ilova paketlar va kutubxona paketlari .
Ilova paketlar ga qarshi kutubxona paketlar
Hamma paketlar almashish uchun mo'ljallanmagan; ilovaning o'zi ham paketdir. Bu paketlar mumkin bor bog'liqliklar yoqilgan kutubxona paketlar odatda, lekin ular bor emas mo'ljallangan boshqa loyihalarda qaramlik sifatida foydalanish.
Yoniq the boshqa qo'l, kutubxona paketlar bor the birlar bu o'z ichiga oladi biroz foydali kod bu mumkin foydali bo'ling ko'plab loyihalarda. Bu turlar bolishi mumkin ishlatilgan qaramlik va egalik sifatida boshqalarga ham bog'liqlik.
Oddiy qilib aytganda, Dart paketining tavsiya etilgan tuzilishi ular orasida unchalik farq qilmaydi a ilova va a kutubxona paket - ularning maqsad va foydalanish bor boshqacha bir - biridan.
Paket tuzilmalari
The birinchi muhim narsa uchun nuqta tashqariga haqida a Dart paket loyiha tuzilishi hisoblanadi bu uning haqiqiyligi pubspec.yaml mavjudligi bilan tasdiqlanadi fayl; ya'ni agar mavjud bo'lsa
a pubspec.yaml sizning tuzilmangizda fayl bo'lsa, unda paket mavjud va bu siz to'g'ri joy tasvirlab bering u - holda bu, bor yo'q paket da hammasi. Bu hisoblanadi nima a tipik paket quyidagicha ko'rinadi:
Uchun ilova paketlar, U yerda hisoblanadi yo'q talab qilinadi loyiha tartib uchun qabul qilish (sifatida bu emas mo'ljallangan pubda nashr etilishi kerak ombori); ammo, u rivojlanib borayotgani sababli, allaqachon bir nechta tavsiya etilgan yo'llari va konventsiyalar uchun ergash. Keling olish a qarang da the umumiy tuzilishi umumiy Dart to'plami. Tuzilishning aksariyati odatiy bo'lib, loyihangizning murakkabligi va uning kodini qandaydir tarzda baham ko'rishni xohlayotganingizga bog'liq.
Keling olish a qarang da the roli ning har biri fayl va katalog ichida a tipik Dart paket tuzilishi:
pubspec.yaml : Sifatida allaqachon ishora qildi tashqariga, bu hisoblanadi the asosiy paket fayl va u pub omboriga paketni tavsiflaydi. Ushbu faylning to'liq tuzilishini keyinroq batafsilroq ko'rib chiqamiz.
The lib/ va lib/src/ kataloglar: Bular bor the joylar qayerda the
paket kutubxona manba kod yashaydi. Sifatida siz allaqachon bilish, a oddiy .dart fayl hisoblanadi
a kichik kutubxona, shunday hamma narsa siz qo'yish ichida the lib katalog hisoblanadi ommaviy ravishda mavjud boshqa paketlarga. Bu umumiy API paketi sifatida tanilgan.
The src pastki katalog o'z ichiga oladi, tomonidan konventsiya, hammasi ning the ichki paket kodi,
bu bu, the xususiy manba kod ning the paket bu hisoblanadi emas nazarda tutgan uchun bo'l bevosita boshqalar tomonidan import qilinadi.
lib/simple_package_structure.dart : A umumiy amaliyot hisoblanadi uchun qo'shish a Eksport qilinadigan bitta yoki bir nechta yuqori darajadagi fayllar (eksportni eslang bayonot)
mahalliy src/ kutubxonalar. Ushbu fayl nomi odatda paket bilan bir xil bo'ladi. Agar bor bo'lsa hisoblanadi Ko'proq dan bitta kutubxona, keyin the nomi kerak bo'l oddiy yetarli uchun eksport qilinadigan kutubxonalarning umumiy maqsadini aniqlash.
test/ : Birlik testlar va benchmark tahlil bor shartli ravishda qo'yish ichida
the sinov va benchmark kataloglar, mos ravishda. Bundan tashqari, the manba test papkasidagi kod odatda _test bilan postfikslanadi identifikator.
README.md , CHANGELOG.md va LICENSE : Bular odatda mavjud belgilash fayllari ichida paketlar bu bor mo'ljallangan uchun bo'l nashr etilgan ichida biroz ommaviy ombori, masalan, Dart pub. Ushbu fayllar ochiq manbalarda ham juda keng tarqalgan
loyihalar. The LITSENZIYA fayl, qaysi belgilaydi the manba kod mualliflik huquqi ma'lumotlari ham ba'zan mavjud.
misol/ : Bu hisoblanadi muhim ichida nashr etilgan paketlar va mumkin namoyish qilish paketdan qanday foydalanish mumkin.
analiz_options.yaml : Bu hisoblanadi a foydali fayl uchun moslashtirish the tuklar cheklar, uslublar tahlili va boshqa oldindan kompilyatsiya tekshiruvlari.
Biroz qo'shimcha fayllar bog'liq yoqilgan the maqsad ning the loyiha, shu jumladan quyidagilar :
tools/ : Bu ishlab chiqish jarayonida ishlatilishi mumkin bo'lgan skriptlarni o'z ichiga olgan katalog, shu jumladan kommunal xizmatlar uchun manipulyatsiya qilish tasvirlar, xom fayllar, va har qanday mehribon paketga shaxsiy va ishlab chiquvchi uchun foydali bo'lgan skript.
doc/ va doc/api : Bu hisoblanadi qayerda siz mumkin qo'shish biroz foydali ma `lumot loyiha haqida. api/ pastki katalog Dartdok qaerda vosita (taqdim etilgan
ichida Bob 1 , An Kirish uchun Dart ) hosil qiladi the API hujjatlar asoslangan kod sharhlari bo'yicha.
In veb paketlar, biroz yangi fayllar va kataloglar bor kiritilgan; ular bor kabi quyidagicha:
The lib/ papka hisoblanadi the tipik maqsad ning statik veb manba fayllar, shunday tasvirlar yoki .css sifatida fayllar.
veb/ veb-ilova loyihalarida foydalaniladigan katalogdir. libdan farqli o'laroq / papka, qaysi hisoblanadi nazarda tutgan uchun bo'l kutubxona kod, bu kod hisoblanadi nazarda tutgan uchun bor the veb dasturning manba kodi va kirish nuqtalari (ya'ni, asosiy() funktsiyasi).
In buyruq qatori paketlar, the bin katalog kiritilgan :
axlat qutisi/ katalog to'g'ridan-to'g'ri buyruqdan ishlay oladigan skriptga ega bo'lishi kerak chiziq; the Sahna qo'li asbob tasvirlangan Keyingi hisoblanadi a misol ning the buyruq qatori kutubxonasi vositasi.
Sahna qo'li - the Dart loyiha generator
Yangi Dart loyihasini boshlash bir necha oddiy qadamlarni talab qiladi: bo'sh papka yarating, qo'shing a pubspec.yaml fayl uchun bu, va tasvirlab bering the paket bilan a ism, versiya, va shunday yoqilgan. Keyin kerakli fayllarni asta-sekin qo'shasiz.
In umumiy, eng ning the fayllar va ularning tuzilmalar qil emas o'zgartirish dan paket uchun paket, shuning uchun Dart paketining butun tuzilishini yaratish har safar zerikarli bo'lishi mumkin. Shuning uchun Stagehand vositasi Dart iskala loyihalarini yaratish uchun yaratilgan .
Kimga yugur the Sahna qo'li asbob, biz birinchi kerak uchun o'rnatish bu yoqilgan bizning tizimi. In a to'g'ri tuzilgan Dart muhiti, quyidagi pubni ishga tushiring Uni o'rnatish uchun terminalda buyruq:
Do'stlaringiz bilan baham: |