یووالی یو پلیټ فارم دی چې د څه مودې راهیسې شاوخوا دی او په دوامداره توګه وده کوي. په هرصورت، کله چې په ورته وخت کې د څو پروژو سره کار کوئ، تاسو لاهم کولی شئ د عامو سرچینو (.cs)، کتابتونونو (.dll) او نورو شتمنیو (عکس، غږونو، ماډلونو، پریفابونو) کارولو کې ستونزې سره مخ شئ. په دې مقاله کې به موږ د یووالي لپاره د دې ستونزې لپاره د اصلي حل سره زموږ د تجربې په اړه خبرې وکړو.
د شریکو منابعو د ویش طریقه
د مختلفو پروژو لپاره د ګډو سرچینو کارولو لپاره له یوې څخه ډیرې لارې شتون لري، مګر هره طریقه خپل ګټې او زیانونه لري.
1. نقل - موږ د "لاس په واسطه" د پروژو تر مینځ سرچینې نقل کوو.
پرو:
- د هر ډول سرچینو لپاره مناسب.
- د انحصار ستونزه نشته.
- د شتمنیو GUIDs سره کومه ستونزه نشته.
ضمیمه:
- لوی ذخیره.
- د نسخې کولو امکان نشته.
- په شریکو سرچینو کې د بدلونونو تعقیب مشکل.
- د شریکو سرچینو تازه کولو کې مشکل.
2.
پرو:
- تاسو کولی شئ د سرچینو سره کار وکړئ.
- تاسو کولی شئ شتمنۍ وویشئ.
- د انحصار ستونزه نشته.
ضمیمه:
- د ګیټ تجربه اړینه ده.
- Git د بائنری فایلونو سره ډیر دوستانه ندی - تاسو باید LFS وصل کړئ.
- د ذخیره کولو لپاره د لاسرسي کنټرول.
- د نسخو لوړولو او ښکته کولو سره مشکل.
- د GUID ټکرونه ممکن دي او د یووالي په برخه کې د دوی د حل لپاره کوم روښانه چلند شتون نلري.
3. NuGet - د NuGet کڅوړو له لارې د ګډ کتابتونونو ویش.
پرو:
- د پروژو سره مناسب کار چې په یووالي پورې اړه نلري.
- اسانه نسخه او د انحصار حل.
ضمیمه:
- یووالي نشي کولی د بکس څخه بهر د NuGet کڅوړو سره کار وکړي (په GitHub کې تاسو کولی شئ د یووالي لپاره د NuGet بسته مدیر ومومئ ، کوم چې دا حل کوي ، مګر ځینې لنډیزونه شتون لري).
- د نورو ډولونو شتمنیو ویشلو کې ستونزې.
4. د یووالي بسته مدیر - د یووالي لپاره د اصلي حل له لارې د شریکو سرچینو ویش.
پرو:
- د کڅوړو سره کار کولو لپاره اصلي انٹرفیس.
- د GUID شخړو له امله په کڅوړو کې د میټا فایلونو د بیا لیکلو پروړاندې محافظت.
- د نسخې کولو امکان.
- د یووالي لپاره د هر ډول سرچینو ویشلو وړتیا.
ضمیمه:
- د GUID شخړې لاهم واقع کیدی شي.
- د تطبیق لپاره هیڅ اسناد شتون نلري.
وروستی میتود د زیانونو په پرتله ډیرې ګټې لري. په هرصورت، دا اوس د اسنادو نشتوالي له امله خورا مشهور نه دی، او له همدې امله موږ به په تفصیل سره په دې اړه خبرې وکړو.
د یووالي بسته مدیر
د یووالي بسته مدیر (UPM) د بسته بندۍ مدیریت وسیله ده. دا په یونیټي 2018.1 کې اضافه شوی او یوازې د پیکجونو لپاره کارول شوی چې د یونیټي ټیکنالوژیو لخوا رامینځته شوي. په هرصورت، د 2018.3 نسخه سره پیل کول، دا ممکنه شوه چې دودیز کڅوړې اضافه کړي.
د یووالي بسته مدیر انٹرفیس
کڅوړې د پروژې سرچینو (د شتمنیو لارښود) کې پای ته نه رسیږي. دوی په جلا لارښود کې دي %projectFolder%/Library/PackageCache
او په هیڅ ډول پروژه اغیزه نه کوي، د سرچینې کوډ کې د دوی یوازینۍ یادونه په فایل کې ده packages/manifest.json
.
د پروژې فایل سیسټم کې کڅوړې
د بسته بندۍ سرچینې
UPM کولی شي د کڅوړې ډیری سرچینې وکاروي:
1. د فایل سیسټم.
پرو:
- د پلي کولو سرعت.
- د دریمې ډلې وسیلو ته اړتیا نلري.
ضمیمه:
- په نسخه کې مشکل.
- د فایل سیسټم ته شریک لاسرسی د هرچا لپاره اړین دی چې د پروژې سره کار کوي.
2. د Git ذخیره.
پرو:
- ټول هغه څه چې تاسو ورته اړتیا لرئ د Git ذخیره ده.
ضمیمه:
- تاسو نشئ کولی د UPM کړکۍ له لارې د نسخو ترمینځ تیر شئ.
- د ټولو Git ذخیره کولو سره کار نه کوي.
3. د npm ذخیره.
پرو:
- په بشپړ ډول د UPM فعالیت ملاتړ کوي او د یووالي رسمي کڅوړو توزیع کولو لپاره کارول کیږي.
ضمیمه:
- اوس مهال د "-preview" پرته د کڅوړو ټولې تار نسخې له پامه غورځوي.
لاندې به موږ د UPM + npm تطبیق وګورو. دا بنډل مناسب دی ځکه چې دا تاسو ته اجازه درکوي د هر ډول سرچینې سره کار وکړئ او د بسته بندۍ نسخې اداره کړئ، او همدارنګه د اصلي UPM انٹرفیس بشپړ ملاتړ کوي.
تاسو کولی شئ دا د npm ذخیره په توګه وکاروئ
د چاپیریال تنظیم کول
لومړی تاسو اړتیا لرئ نصب کړئ
د بسته بندۍ جوړول
د بسته بندۍ جوړولو لپاره، تاسو اړتیا لرئ فایل ځای په ځای کړئ package.json
، کوم چې به یې تشریح کړي ، د دې کڅوړې مینځپانګې سره لارښود ته. تاسو اړتیا لرئ لاندې کارونه وکړئ:
د پروژې لارښود ته لاړ شئ چې موږ غواړو یو بسته جوړه کړو.
د npm init کمانډ چل کړئ او د ډیالوګ پرمهال اړین ارزښتونه دننه کړئ. د نوم لپاره، نوم په ریورس ډومین بڼه کې مشخص کړئ، د بیلګې په توګه com.plarium.somepackage.
د بسته بندۍ نوم په اسانۍ سره ښودلو لپاره، د displayName ملکیت په package.json کې اضافه کړئ او ډک کړئ.
څرنګه چې npm js-oriented دی، فایل د اصلي او سکریپټونو ملکیتونه لري چې موږ ورته اړتیا نلرو، کوم چې یووالي نه کاروي. دا غوره ده چې دوی لرې کړئ ترڅو د کڅوړې توضیحات ګډوډ نشي. فایل باید داسې ښکاري:
- د پروژې لارښود ته لاړ شئ چې موږ غواړو یو بسته جوړه کړو.
- د npm init کمانډ چل کړئ او د ډیالوګ پرمهال اړین ارزښتونه دننه کړئ. د نوم لپاره، نوم په ریورس ډومین بڼه کې مشخص کړئ، د بیلګې په توګه com.plarium.somepackage.
- د بسته بندۍ نوم په اسانۍ سره ښودلو لپاره، د displayName ملکیت په package.json کې اضافه کړئ او ډک کړئ.
- څرنګه چې npm js-oriented دی، فایل د اصلي او سکریپټونو ملکیتونه لري چې موږ ورته اړتیا نلرو، کوم چې یووالي نه کاروي. دا غوره ده چې دوی لرې کړئ ترڅو د کڅوړې توضیحات ګډوډ نشي. فایل باید داسې ښکاري:
{ "name": "com.plarium.somepackage", "displayName": "Some Package", "version": "1.0.0", "description": "Some Package Description", "keywords": [ "Unity", "UPM" ], "author": "AUTHOR", "license": "UNLICENSED" }
- یونیټي خلاص کړئ او د پیکج. json لپاره میټا فایل رامینځته کړئ (یوونټي د میټا فایلونو پرته شتمنۍ نه ګوري ، د یووالي لپاره کڅوړې یوازې د لوستلو لپاره خلاصیږي).
یو بسته لیږل
د کڅوړې لیږلو لپاره تاسو اړتیا لرئ کمانډ چل کړئ: npm publish --registry *адрес до хранилища пакетов*
.
د یووالي بسته مدیر له لارې د کڅوړو نصب او تازه کول
د یووالي پروژې ته د کڅوړې اضافه کولو لپاره ، تاسو اړتیا لرئ:
- فایل ته اضافه کړئ
manifest.json
د کڅوړو د سرچینې په اړه معلومات. د دې کولو لپاره تاسو اړتیا لرئ ملکیت اضافه کړئscopedRegistries
او سکوپونه او د سرچینې پته په ګوته کړئ چیرې چې ځانګړي سکوپونه به وپلټل شي."scopedRegistries": [ { "name": "Main", "url": "адрес до хранилища пакетов", "scopes": [ "com.plarium" ] } ]
- یووالي ته لاړ شئ او د بسته بندۍ مدیر کړکۍ خلاص کړئ (د دودیز کڅوړو سره کار کول د جوړ شوي کڅوړو سره کار کولو څخه توپیر نلري).
- ټول بسته بندي غوره کړئ.
- هغه بسته ومومئ چې تاسو ورته اړتیا لرئ او اضافه کړئ.
د سرچینو او ډیبګ کولو سره کار کول
د دې لپاره چې سرچینې پروژې سره وصل شي ، تاسو اړتیا لرئ رامینځته کړئ
د کڅوړو کارول ستاسو د ډیبګ کولو اختیارونه محدود نه کوي. په هرصورت ، کله چې په یووالي کې د کڅوړو سره کار کوئ ، تاسو نشئ کولی IDE ته لاړ شئ په کنسول کې د یوې تېروتنې په کلیک کولو سره که چیرې په کڅوړه کې غلطي رامینځته شوې وي. دا د دې حقیقت له امله دی چې یونیټي سکریپټونه د جلا فایلونو په توګه نه ګوري، ځکه چې کله د مجلس تعریف کاروي دوی په کتابتون کې راټول شوي او په پروژه کې شامل شوي. کله چې د پروژې سرچینې سره کار کوئ، IDE ته کلیک کول شتون لري.
په یوه پروژه کې سکریپټ د تړل شوي کڅوړې سره:
د کاري وقفې سره د کڅوړې څخه سکریپټ:
د بسته بندۍ لپاره عاجل اصلاحات
په پروژه کې د یووالي کڅوړې اضافه شوي یوازې د لوستلو وړ دي ، مګر د کڅوړې کیچ کې ترمیم کیدی شي. د دې کولو لپاره تاسو اړتیا لرئ:
- د پیکج کیچ کې بسته ته لاړ شئ.
- اړین بدلونونه وکړئ.
- په فایل کې نسخه تازه کړئ
package.json
. - کڅوړه ولېږئ
npm publish --registry *адрес до хранилища пакетов*
. - د پیکج نسخه د UPM انٹرفیس له لارې سم شوي ته تازه کړئ.
د بسته واردولو شخړه
لاندې GUID شخړه ممکن د کڅوړو واردولو پرمهال رامینځته شي:
- بسته - بسته. که، کله چې د بسته بندي واردول، دا معلومه شوه چې دمخه اضافه شوي کڅوړې د ورته GUID سره شتمنۍ لري، د وارد شوي کڅوړې څخه د مطابقت لرونکي GUID سره شتمنۍ به په پروژه کې اضافه نشي.
- یوه بسته یوه پروژه ده. که، کله چې د بسته بندي واردول، دا معلومه شوه چې پروژه د ورته GUIDs سره شتمنۍ لري، نو بیا به د کڅوړې شتمنۍ پروژې ته اضافه نشي. په هرصورت، هغه شتمنۍ چې په دوی پورې اړه لري د پروژې څخه د شتمنیو کارول پیل کړي.
د پروژې څخه کڅوړې ته د شتمنیو لیږدول
که تاسو د یوې پروژې څخه کڅوړې ته شتمنۍ لیږدئ پداسې حال کې چې یووالي خلاص وي ، د دې فعالیت به ساتل کیږي ، او په انحصاري شتمنیو کې لینکونه به د کڅوړې څخه د شتمنۍ کارولو پیل وکړي.
مهم: کله چې د یوې پروژې څخه یوې کڅوړې ته د یوې شتمنۍ کاپي کول، د "پیکج - پروژې" شخړه به په پورته برخه کې تشریح شوي وي.
د شخړو لپاره ممکنه حلونه
- زموږ د خپلو الګوریتمونو په کارولو سره د GUIDs بیا ګمارل کله چې د ټکرونو له مینځه وړو لپاره ټولې شتمنۍ واردول.
- په یوه پروژه کې ټولې شتمنۍ اضافه کول او بیا یې په کڅوړو ویشل.
- د ډیټابیس رامینځته کول چې د ټولو شتمنیو GUIDs لري او د کڅوړو لیږلو په وخت کې د اعتبار ترسره کول.
پایلې
UPM په یووالي کې د ګډو سرچینو توزیع کولو لپاره نوی حل دی ، کوم چې د موجوده میتودونو لپاره مناسب بدیل کیدی شي. په مقاله کې تشریح شوي سپارښتنې د اصلي قضیو پر بنسټ وې. موږ امید لرو چې تاسو یې ګټور ومومئ.
سرچینه: www.habr.com