npm ၏ ပရောက်စီ ဆက်တင်သည် npm start မှ စတင်သည့် အရာအားလုံးကို လမ်းကြောင်းမချပါ
npm သည် ၎င်း၏ ကိုယ်ပိုင် ပက်ကေ့ချ် လွှဲပြောင်းမှုများကို ပြင်ဆင်သည်။ script ဖြင့် စတင်သော အပလီကေးရှင်းသည် ရည်ရွယ်ထားသော အပြင်ထွက် ပရောက်စီကို ပံ့ပိုးသည့် HTTP client ကို လိုအပ်နေဆဲ ဖြစ်သည်။
npm install သည် ပရောက်စီမှတစ်ဆင့် အလုပ်လုပ်သည်။ npm start သည် အပလီကေးရှင်းကို စတင်ပြီး ၎င်း၏ API တောင်းဆိုမှုသည် တိုက်ရိုက် ထွက်သွားသည်။ npm သည် ဆက်တင်ကို မေ့သွားသည်ဟု မဆိုနိုင်ပါ။
ပထမ တောင်းဆိုမှုကို ပက်ကေ့ချ် မန်နေဂျာက ပြုလုပ်ခဲ့သည်။ ဒုတိယကို သင့် အပလီကေးရှင်းက ပြုလုပ်သည်။ npm ဖွဲ့စည်းမှုရှိ ပရောက်စီ တန်ဖိုးသည် ၎င်းကို ဖတ်သော သုံးစွဲသူများအတွက် ဒေတာဖြစ်ပြီး ကလေးပရိုဆက်တိုင်း၏ အောက်တွင် ထားသော ဥမင်လိုဏ်ခေါင်း မဟုတ်ပါ။
အပလီကေးရှင်း၏ HTTP client နှင့် ၎င်းပံ့ပိုးသော ပရောက်စီ အင်တာဖေ့စ်ကို စစ်ဆေးပါ။ ၎င်းသည် စံ ပတ်ဝန်းကျင် ကိန်းရှင်များကို ဖတ်နိုင်သည်၊ တိကျသော agent သို့မဟုတ် dispatcher လိုအပ်နိုင်သည်၊ သို့မဟုတ် အခြား မှတ်တမ်းတင်ထားသော ဆက်တင်ကို အသုံးပြုနိုင်သည်။ npm_config_proxy နှင့် ဆင်တူသော ကိန်းရှင်ကို အလိုအလျောက် အသိအမှတ်ပြုသည်ဟု မယူဆပါနှင့်။
အပြင်ထွက် ပရောက်စီကို ဖွံ့ဖြိုးရေး ဆာဗာ၏ API ပို့ဆောင်မှု လုပ်ဆောင်ချက်နှင့်လည်း ခွဲခြားပါ။ ဖွံ့ဖြိုးရေး ဆာဗာမှ ဘရောက်ဇာ တောင်းဆိုမှုများကို backend သို့ ပို့ဆောင်သော ဆက်တင်သည် အခြား အခန်းကဏ္ဍ ရှိသည်၊ ၎င်းသည် သင့် အပလီကေးရှင်း ပြုလုပ်သော တောင်းဆိုမှုတိုင်းအတွက် ကွန်ရက် ထွက်ပေါက် အလိုအလျောက် မဟုတ်ပါ။
အသုံးဝင်သော နှိုင်းယှဉ်မှုအတွက် အောင်မြင်သော တောင်းဆိုမှုနှင့် မအောင်မြင်သော တောင်းဆိုမှုကို ပြုလုပ်သော ပရိုဆက်ကို အမည်ပေးပါ။ ထို့နောက် နောက်တစ်ခုကို တမင်တကာ ပြင်ဆင်ပါ။ Undici ၏ fetch ကို အသုံးပြုသော အပလီကေးရှင်းသည် ၎င်း၏ Node runtime နှင့် ကိုက်ညီသော ပက်ကေ့ချ် ထုတ်ဝေမှုဖြင့် ProxyAgent dispatcher ဖွဲ့စည်းမှု ကို လိုက်နာနိုင်သည်။ npm ၏ registry အဆုံးသတ်အမှတ်ကို ပြောင်းခြင်း သို့မဟုတ် အပလီကေးရှင်းကို ထပ်ခါတလဲလဲ ပြန်လည် ထည့်သွင်းခြင်းသည် ထို ပျောက်နေသော လမ်းကြောင်းကို ၎င်းကိုယ်တိုင် မပေးနိုင်ပါ။