رهام رفیعی تهرانی
رهام رفیعی تهرانی
خواندن ۲ دقیقه·۱ سال پیش

راهنمای proxy config در Angular


یکی از مشکلات برنامه نویسی فرانت، وابستگی برنامه به API هاست. شرایطی رو فرض کنید که ارتباط شما با سرور تستی API قطع شده. یا شما همه کارهای سمت فرانت رو انجام دادید ولی API ها هنوز نرسیدند. شما میخواید اپ تون رو تست کنین. راه های مختلفی برای شبیه سازی API هست که من به سه روش اشاره میکنم:

۱. تنظیم پروکسی

۲. راه اندازی سرور فیک

۳. تعریف HTTP Inerceptor و جواب دادن به API ها داخل اپ


قبلا در مقاله آشنایی با In Memory Web API در انگولار به نصب و استفاده از یک کتابخانه آماده اشاره کردم. این روش نوعی از مدل سوم یا HTTP interceptor هست.


در این مقاله میخوایم در مورد روش تنظیم پروکسی صحبت کنیم.

تنظیم پروکسی در انگولار خیلی ساده است.


قدم اول: تنظیمات پروکسی

یک فایل بنام proxy.config.json درست میکنیم:

در واقع درخواست هایی که به /api ارسال بشوند، تغییر مسیر میدن و به آدرس target میرن.

متغیر logLevel رو روی debug میگذاریم که ببینیم موقع پروکسی شدن چه اتفاقی می افته.


قدم دوم: serve کردن اپلیکیشن با فایل تنظیم پروکسی

داخل فایل package.json ، تنظیم اسکریپت start رو به صورت زیر عوض میکنیم:

حالا به اجرای npm start ، دستور ng serve با تنظیمات پروکسی اجرا میشه و بلافاصله به خطا میخوریم.


حالا با هر درخواستی که /api باشه، درخواست http://localhost:8000/api صدا زده میشه.

میتونید با تغییر تنظیمات پروکسی به پروکسی مورد نظرتون برسید. مثلا تنظیم زیر رو در نظر بگیرید:

در واقع من درخواست های auth server رو یه جور تنظیم کردم و تنظیمات api رو یه جور دیگه.

دقت کنید که تنظیمات پروکسی فقط در حالت dev کاربرد داره. در حالت پروداکشن کاربردی نداره.


روش دوم

البته اکثر مقاله ها روش دیگه ای رو پیشنهاد دادند که تنظیمات اجرای proxy رو داخل angular.json قرار بدید. من با این روش موافق ترم و ترجیح میدم از پارامتر های ng server استفاده نکنم:

داخل تنظیمات serve این قسمت رو اضافه کنید:


قدم سوم: راه اندازی سرور فیک

برای اینکه سریع تر یک مجموعه API مشابه API های اصلی با دیتای فیک بیاریم بالا و روی localhost:8000 اجرا بشه، راه های خیلی متفاوتی هست.

آخرین روشی که من برای راه اندازی سرور فیک استفاده کردم، اپلیکیشن Mockoon بوده. روی همه پلتفرم ها قابل اجراست و محیطش خیلی شبیه Postman هست. یک محیط گرافیکی در اختیارتون میگذاره و میتونید سریع سرور فیک تون رو راه بندازید.


اگر زمان براتون مهم نیست و دوست دارید تجربه کسب کنید، میتونید شروع کنید با NodeJS و ExpressJS یا هر مدل دیگه ای سرور تستی بالا بیارید.


امیدوارم از این مقاله خوشتون اومده باشه.

اگر دوست داشته باشید میتونید با من از طریق لینکدین در ارتباط باشید ..

موفق باشید :)


apiانگولارangularآموزش انگولارproxy
برنامه نویسی یک شغل نیست، یک هنره.
شاید از این پست‌ها خوشتان بیاید