به روش خود کدنویسی کنید: سفارشی کردن کد Amplication با اطمینان

توسعه دهندگان در سراسر جهان به دلایل زیادی به Amplication وابسته هستند. اول، Amplication در زمان و تلاش آنها در هنگام ساختن تمام خدماتی که برنامه هایشان را تقویت می کنند، صرفه جویی می کند. ما با استفاده از تمام دیگها و تنظیمات در زمان آنها صرفهجویی میکنیم و در عین حال کد قابل اعتماد و قابل خواندن برای انسان را به آنها میدهیم که بر پایه کتابخانهها و فناوریهای مورد اعتماد صنعت ساخته شدهاند.
توسعهدهندگان پشتیبانهایی را دریافت میکنند که با فناوریهای منبع باز ساخته شدهاند که دوست دارند و به آنها اعتماد دارند، مانند Node.js، NestJS، Prisma، و غیره! بهتر از آن، توسعهدهندگان میتوانند به طور کامل باطن خود را بر اساس نیازهای خود سفارشی کنند، زیرا ما کد واقعی را تولید میکنیم، نه فقط یک جعبه سیاه.
یکی از سوالاتی که برای توسعه دهندگان جدید به Amplication مطرح می شود این است که “وقتی نیاز به ایجاد تغییراتی مانند اضافه کردن مدل ها و نقش های داده یا به روز رسانی مجوزها دارم، چگونه خدمات سفارشی من را مدیریت می کند؟” این یک نگرانی معتبر است. آیا کد شما رونویسی می شود؟ آیا می توانید به Amplication بگویید فایل های خاصی را لمس نکند؟ چگونه با ادغام کد به روز شده خود در کد سفارشی شده شما برخورد کنیم؟
خب، این سوالات برای من آسان است که به آنها پاسخ دهم. ابتدا مطمئن باشید که از بازنویسی کد شما اجتناب می کنیم. دوم، Amplication کاملاً قابل تنظیم است و اگر میخواهید فایلهای شما را نگه داریم، این کار را میکنیم. در نهایت، ما چیزها را هوشمندانه ادغام می کنیم و همیشه سعی می کنیم همه چیز را هماهنگ نگه داریم تا کد شما هرگز عقب نماند.
در این پست، نحوه به روز رسانی قابل اعتماد Amplication خدمات شما را بررسی خواهیم کرد تا هرگز نگران بازنویسی کدی که می نویسید نباشید. که شامل:
- استفاده از فایل های قابل تنظیم
- استفاده كردن
.amplicationignore
- استراتژی هوشمند Git
و در نهایت، برای گسترش ایده کلی کد سفارشی شده، کمی در مورد اکوسیستم افزونه Amplication به اشتراک می گذاریم تا بتوانید خدمات خود را حتی بیشتر از قبل سفارشی کنید!
استفاده از فایل های قابل تنظیم
ما برای هر Entity که در Amplication تعریف می کنید یک ماژول منحصر به فرد ایجاد می کنیم. این ماژول دارای چند فایل مرتبط با آنها است:
- کنترل کننده ای برای رسیدگی به تماس های REST API.
- یک حل کننده برای رسیدگی به تماس های GraphQL API.
- سرویسی که انتزاعی برای کلاینت Prisma است که برای برقراری تماس با پایگاه داده شما استفاده می شود.
تصویر بالا یک ماژول و فایلهای مرتبط ایجاد شده برای نهاد «مشتری» را نشان میدهد.
این فایلها برای توسعهدهندگان وجود دارند تا منطق سفارشی خود را اضافه کنند، زیرا انتزاعی از کنترلکننده، حلکننده و سرویسی هستند که Amplication تولید میکند. اگر به هر یک از آن فایل ها نگاه کنید، خواهید دید که همه آنها از یک نسخه پایه خود گسترش یافته اند. بنابراین، برای مثال، نگاه کردن به CustomerService
، می توانید ببینید که از امتداد می یابد CustomerServiceBase
.
با کلیک بر روی CustomerServiceBase
به شما امکان می دهد منطقی را که Amplication برای تعامل با پایگاه داده ایجاد می کند، مشاهده کنید.
این فایلهای قابل تنظیم یک طرفه هستند. اگر میخواهید در استفاده از این فایلهای قابل تنظیم عمیقتر باشید، به مقاله Amplication Docs درباره اضافه کردن کد سفارشی به خدمات خود بروید.
با استفاده از .ampliationignore
در حین کار با Amplication، ممکن است فایل هایی داشته باشید که بخواهید از دست زدن به آنها اجتناب کنیم. به عنوان مثال، تصور کنید که بعد از اینکه Amplication کد تولید کرد، می خواهید پایه سرویس یک موجودیت را قفل کنید. مشکل این است که تمام نسخههای پایه فایلها دامنه Amplication و چیزی است که ما معمولاً در آن کار میکنیم.
در این صورت می توانید از .amplicationignore
فایل. استفاده از نحوی مشابه با a .gitignore
توسعه دهندگان می توانند از تغییر هر فایلی، صرف نظر از اینکه این فایل ها در کجا قرار دارند، توسط Amplication جلوگیری کنند. پسندیدن .gitignore
، باید خود را قرار دهید .amplicationignore
فایل در ریشه یک مخزن.
در اینجا یک نمونه از .amplicationignore
:
server/src/customer/base/CreateCustomerArgs.ts
دفعه بعد که Amplication پروژه شما را بر اساس هر آنچه که نیاز دارید به روز می کند، CreateCustomerArgs.ts
فایل دست نخورده خواهد بود با این حال، اگر میخواهید تغییراتی را که Amplication ایجاد میکرد، اجرا کنید، اشکالی ندارد. ما فایلی را که میتوانستیم در a قرار دهیم .amplication
پوشه، که با کد شما خراب نمی شود.
شما می توانید اطلاعات بیشتری در مورد .amplicationignore
در اسناد ما فایل کنید.
استراتژی هوشمند Git
استراتژی هوشمند گیت (SGS) Amplication برای جلوگیری از تضاد بین کدهایی که کاربران در پروژه های خود می نویسند و کد تولید شده توسط Amplication طراحی شده است. این قابلیت برای فضاهای کاری با طرح حرفه ای در دسترس است، در حالی که فضاهای کاری با طرح رایگان به نسخه کمتر پیشرفته دسترسی دارند.
با SGS، Amplication یک را ایجاد می کند amplication
شعبه برای ایجاد commit های جدید توسط سرویس pull request. در نتیجه، تنها یک درخواست کشش در یک زمان باز می شود. انجام این کار تضمین می کند که از درگیری جلوگیری می کنیم.
مزیت اصلی این رویکرد این است که کاربران دیگر مجبور نیستند تضادهای ادغام را با هر بیلد حل کنند و کار با Amplication را بسیار آسان تر می کند.
پلاگین ها
در بخشهای قبلی، نحوه گسترش یک برنامه را توضیح دادیم. اما اگر برای بسیاری از پروژه ها نیاز به ایجاد تغییرات مشابه داشته باشید، چه؟ سیستم پلاگین راه حل است. افزونه ها ممکن است عملکرد جدیدی به سرویس های موجود یا جدید اضافه کنند و فقط با یک کلیک نصب یا فعال شوند.
می توانید از پلاگین های توسعه یافته توسط تیم Amplication، انجمن ما استفاده کنید یا پلاگین های خود را بسازید!
اگر افزونه ها هیجان انگیز به نظر می رسند، می توانید لیستی از افزونه های موجود ما را در اینجا بیابید. و اگر آماده توسعه افزونه های خود هستید، نمای کلی توسعه افزونه را در اسناد ما بررسی کنید.
نتیجه
امروز روشهای متعددی را برای افزودن منطق سفارشی شما به برنامههایی که Amplication تولید کرده است، بررسی کردهایم. امیدوارم از شروع چالش فناوری بعدی خود با Amplication مطمئن باشید. اگر سؤالات بیشتری دارید یا به اطلاعات بیشتری نیاز دارید – به کانال Discord ما بپیوندید، از اسناد ما دیدن کنید و بیشتر از مقالات وبلاگ عالی ما را بخوانید.
کد نویسی مبارک!