এক্সটেনারাস প্যাকেজগুলি অপসারণ করতে আপনি এনএমপি-প্রুন ব্যবহার করতে পারেন ।
npm prune [[<@scope>/]<pkg>...] [--production] [--dry-run] [--json]
এই কমান্ডটি "বহিরাগত" প্যাকেজগুলি সরিয়ে দেয়। যদি কোনও প্যাকেজের নাম সরবরাহ করা হয় তবে কেবল সরবরাহ করা নামেরগুলির সাথে মিলে যাওয়া প্যাকেজগুলি অপসারণ করা হবে।
এক্সট্রােনস প্যাকেজ হ'ল প্যাকেজ যা প্যাকেজ প্যাকেজের নির্ভরতা তালিকায় তালিকাভুক্ত নয়।
যদি - উত্পাদনের পতাকাটি নির্দিষ্ট করা থাকে বা NODE_ENV এনভায়রনমেন্ট ভেরিয়েবলটি উত্পাদনে সেট করা থাকে তবে এই কমান্ডটি আপনার ডিভিনিডেন্সে নির্দিষ্ট প্যাকেজগুলি সরিয়ে ফেলবে । সেট --no-প্রকাশনা অস্বীকার করবে NODE_ENV সেট হচ্ছে উৎপাদন ।
যদি - শুকনো-চালিত পতাকা ব্যবহার করা হয় তবে আসলে কোনও পরিবর্তন করা হবে না।
যদি --json পতাকা ব্যবহার করা হয় তবে এনপিএম প্রুনের পরিবর্তনগুলি (বা --Dry-run দিয়ে তৈরি করা হত ) একটি JSON অবজেক্ট হিসাবে মুদ্রিত হবে।
প্যাকেজ-লকগুলি সক্ষম করার সাথে সাধারণ ক্রিয়াকলাপে, মডিউলগুলি ইনস্টল হওয়ার পরে এক্সট্রেনাস মডিউলগুলি স্বয়ংক্রিয়ভাবে ছাঁটাই হয় এবং আপনাকে কেবল - উত্পাদনের পতাকা সহ এই কমান্ডের প্রয়োজন হবে ।
আপনি যদি প্যাকেজ-লকগুলি অক্ষম করে থাকেন তবে বহিরাগত মডিউলগুলি সরানো হবে না এবং এগুলি অপসারণের জন্য সময়-সময় থেকে এনপিএম প্রুন চালানো আপনার ব্যাপার ।
সদৃশ হ্রাস করতে এনএমপি-ডেডুপ ব্যবহার করুন
npm dedupe
npm ddp
স্থানীয় প্যাকেজ ট্রি অনুসন্ধান করে এবং গাছের উপরে নির্ভরতা সরিয়ে সামগ্রিক কাঠামো সরল করার চেষ্টা করে, যেখানে একাধিক নির্ভর প্যাকেজগুলি সেগুলি আরও কার্যকরভাবে ভাগ করে নিতে পারে।
উদাহরণস্বরূপ, এই নির্ভরতা গ্রাফটি বিবেচনা করুন:
a
+-- b <-- depends on c@1.0.x
| `-- c@1.0.3
`-- d <-- depends on c@~1.0.9
`-- c@1.0.10
এই ক্ষেত্রে, এনপিএম-ডেডাপ গাছটিকে রূপান্তর করবে:
a
+-- b
+-- d
`-- c@1.0.10
নোডের মডিউল অনুসন্ধানের শ্রেণিবিন্যাসিক প্রকৃতির কারণে, খ এবং ডি উভয়ই গাছের মূল স্তরের একক সি প্যাকেজের মাধ্যমে তাদের নির্ভরতা মেটাবে।
সদৃশ অ্যালগরিদম গাছের সাথে হাঁটছে এবং প্রতিটি নির্ভরতা যতটা সম্ভব গাছের উপরে যতটা সম্ভব ডুপ্লিকেট না পাওয়া গেলেও সরিয়ে নিয়েছে। এটি উভয় সমতল এবং প্রতিলিপিযুক্ত গাছের ফলস্বরূপ।
node_modules
যখন সংশ্লিষ্টদের থেকে সরিয়ে ফেলা হবে তখন কি সেগুলি থেকে সরানোর অর্থ আপনারpackage.json
?