آشنایی با module resolution در انگولار


در انگولار چطوری ماژول های مورد نیازتون رو import میکنید؟

به صورت relative ؟

یا به صورت absolute ؟

فرض کنید پروژه بزرگی دارید و در همه ماژول ها، import ها به صورت absolute یا relative آدرس دهی شده اند.

حالا قصد دارید مثلا بخش shared داخل پروژه رو جابجا کنید و به مکان جدیدی منتقل کنید. همه ماژول هایی که از یک فایل داخل پوشه shared استفاده کردند، باید آدرس های relative یا absolute خودشون رو تغییر بدن.

حتی با پشتیبانی IDE از تغییر آدرس ها، باز هم تغییر مناسب آدرس ها در یک پروژه بزرگ، زمان و تمرکز ویژه ای رو می طلبه.

اینجاست که راه حل module resolution به کار میاد.

داخل فایل tsconfig.json در بخش compilerOptions یک attribute خاص داریم به اسم paths که به صورت پیش فرض تعریف نشده و باید تعریفش کنید:

با تعریف های جدید حالا میتونیم بخش های مختلف سیستم رو به صورت زیر import کنیم:


با این روش، هزینه تغییر مسیر هر ماژول یا بخش از پروژه با هزینه بسیار کمتری انجام میشه. فقط کافیه یک تنظیم مربوط به اون بخش یا ماژول داخل فایل tsconfig.json به روز رسانی بشه.


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

اگر دوست دارید میتونید از طریق صفحه لینکدین با من در ارتباط باشید :)