আমি যখন এনপিএম-এ প্যাকেজগুলি অনুসন্ধান করি, আমি প্যাকেজ আকার দেখতে চাই (কেবি বা এমবিতে, ইত্যাদি)। এনপিএম এই তথ্যটি দেখায় বলে মনে হচ্ছে না।
কোনও এনপিএম প্যাকেজ আমার প্রকল্পে কতটা ব্লাট যুক্ত করবে তা আমি কীভাবে নির্ধারণ করতে পারি?
আমি যখন এনপিএম-এ প্যাকেজগুলি অনুসন্ধান করি, আমি প্যাকেজ আকার দেখতে চাই (কেবি বা এমবিতে, ইত্যাদি)। এনপিএম এই তথ্যটি দেখায় বলে মনে হচ্ছে না।
কোনও এনপিএম প্যাকেজ আমার প্রকল্পে কতটা ব্লাট যুক্ত করবে তা আমি কীভাবে নির্ধারণ করতে পারি?
উত্তর:
আপনি সম্ভবত যা পরিমাপ করতে চান তা হ'ল যদি আপনার অ্যাপ্লিকেশন বান্ডেলে এটি যুক্ত করা হয় তবে কোনও প্যাকেজটির প্রভাব। অন্যান্য উত্তরগুলির বেশিরভাগই কেবল উত্স ফাইলগুলির আকারের অনুমান করবে, যা সম্ভবত ইনলাইন মন্তব্য, দীর্ঘতর বর্ণ ইত্যাদির কারণে ভুল c
আমি তৈরি একটি ছোট্ট ইউটিলিটি রয়েছে যা প্যাকেজটি আপনার বান্ডিল হয়ে যাওয়ার পরে আপনাকে ন্যূনতম + জিজিপ আকার জানাবে -
https://cost-of-modules.herokuapp.com
এখন https://bundlephobia.com
একটি খুব দরকারী সরঞ্জাম বিটিডব্লু নির্দেশ ।
এই কটাক্ষপাত খরচ অফ মডিউল প্রকল্পের। এটি একটি এনপিএম প্যাকেজ যা প্যাকেজের আকার এবং বাচ্চার সংখ্যার তালিকা তৈরি করবে।
স্থাপন:
npm install -g cost-of-modules
ব্যবহার: cost-of-modules
আপনি যে ডিরেক্টরিতে কাজ করছেন তাতে চালান ।
আমি একটি সরঞ্জাম তৈরি করেছি, এনএমপি ডাউনলোড আকার , যা নির্ভরতা গাছের সমস্ত টারবাল সহ একটি প্রদত্ত এনএমপি প্যাকেজের জন্য টারবাল আকারটি পরীক্ষা করে। এটি আপনাকে নির্ভরতা সামনের দিকে যুক্ত করার ব্যয় (ইনস্টল সময়, ডিস্কের স্থান, রানটাইম রিসোর্স, সুরক্ষা নিরীক্ষা, ...) সম্পর্কে ধারণা দেয়।
উপরের ছবিতে, টারবাল আকার হ'ল প্যাকেজের টার.gz এবং মোট আকার সমস্তসরঞ্জামটি বেশ মৌলিক, তবে এটি যা বলে তা তাই করে।
একটি ক্লাই্ট সরঞ্জামও উপলব্ধ। আপনি এটির মতো এটি ইনস্টল করতে পারেন:
npm i -g download-size
এবং এটি এর মতো ব্যবহার করুন:
$ download-size request
request@2.83.0: 1.08 MiB
সোর্স কোডটি গিথুব উপলভ্য: এপিআই , ক্লাইম সরঞ্জাম এবং ওয়েব ক্লায়েন্ট ।
আমি প্যাকেজ ফোবিয়াকে এই বছরের শুরুতে এনএমপিজেএস.কম এ প্যাকেজ আকারের তথ্য পেতে এবং সময়ের সাথে সাথে প্যাকেজ ব্লাট ট্র্যাক করার আশায় তৈরি করেছি।
আপনি যেমন npm install
সার্ভার-সাইড নির্ভরতা express
বা দেব নির্ভরতাগুলির জন্য চালনার পরে এটি ডিস্কের স্থান পরিমাপের জন্য ডিজাইন করা হয়েছেjest
।
আপনি এখানে রিডমিমে এই সরঞ্জাম এবং অন্যান্য অনুরূপ সরঞ্জামগুলি সম্পর্কে আরও পড়তে পারেন: https://github.com/styfle/packagephobia
আপডেট 2020
"আনপ্যাকড সাইজ" (মূলত প্রকাশের আকার) এনপিএমজেএস.কম ওয়েবসাইটে "মোট ফাইলগুলি" সহ উপলব্ধ। তবে এটি পুনরাবৃত্ত অর্থ নয় যা npm install
সম্ভবত অনেক বড় হবে কারণ একক প্যাকেজ সম্ভবত অনেকগুলি প্যাকেজের উপর নির্ভর করে (সুতরাং প্যাকেজ ফোবিয়া এখনও প্রাসঙ্গিক)।
কোনও বৈশিষ্ট্যের জন্য একটি মুলতুবি আরএফসি রয়েছে যা এই তথ্যটি সিএলআই থেকে মুদ্রণ করে।
যদি আপনি ওয়েবপ্যাকটি ব্যবহার করছেন তবে আপনার মডিউল বান্ডিলারটি একবার দেখুন:
আমি অবশ্যই প্রথম বিকল্পটি সুপারিশ করছি। এটি ইন্টারেক্টিভ ট্রিম্যাপে আকার দেখায়। এটি আপনাকে আপনার বান্ডিলযুক্ত ফাইলে প্যাকেজের আকার খুঁজতে সহায়তা করে।
এই পোস্টের অন্যান্য উত্তরগুলি আপনাকে প্রকল্পের আকার দেখায় তবে আপনি সম্ভবত প্রকল্পের সমস্ত অংশ ব্যবহার করছেন না, উদাহরণস্বরূপ গাছ কাঁপানো। অন্য পদ্ধতিগুলি আপনাকে সঠিক আকার নাও দেখাতে পারে।
প্যাকেজ-আকার ব্যবহার করার চেষ্টা করুন ।
npx package-size vue,vue-router,vuex react,react-dom,react-router,redux
আপনি যদি ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করেন তবে আপনি আমদানি ব্যয় নামে একটি এক্সটেনশন ব্যবহার করতে পারেন ।
এই এক্সটেনশানটি আমদানিকৃত প্যাকেজটির আকারটিতে সম্পাদকরে ইনলাইন প্রদর্শন করবে। আমদানি করা আকারটি সনাক্ত করতে এক্সটেনশানটি ব্যাবিলি-ওয়েবপ্যাক-প্লাগইন সহ ওয়েবপ্যাকটি ব্যবহার করে।
আপনি এনপিএম-মডিউল-পরিসংখ্যান পরীক্ষা করে দেখতে পারেন । এটি একটি এনপিএম মডিউল যা মডিউলটি ইনস্টল বা ডাউনলোড না করে একটি এনএমপি মডিউল এবং এর নির্ভরতাগুলির আকার পায়।
ব্যবহার:
var stats = require("npm-module-stats");
stats.getStats("glob").then((stack) => {
let dependencies = Object.keys(stack);
let totalSize = dependencies.reduce((result, key, index) => {
return result + stack[key].size;
}, 0);
console.log('Total Size in Bytes ', totalSize);
console.log('Total Dependencies ', dependencies.length-1);
}).catch((err) => {
console.error(err);
});
এটি সামান্য ভার্জোজ মনে হতে পারে তবে এটি আপনার যথাযথভাবে বর্ণিত সমস্যাটি সমাধান করে।
একটি "দ্রুত এবং নোংরা" উপায়টি হ'ল প্যাকেজটি দ্রুত ডাউনলোড করার জন্য কার্ল এবং wzrd.in ব্যবহার করা এবং তারপরে ফাইলের আকার গ্রেপ করুন:
curl -i https://wzrd.in/standalone/axios@latest | grep Content-Length
ডাউনলোডটি সংক্ষিপ্ত করা হয়েছে তবে জিপ করা হয়নি, তবে আপনি যখন দুটি বা তার বেশি সংখ্যক তুলনা করেন তখন প্যাকেজগুলির আপেক্ষিক আকার সম্পর্কে আপনি একটি ভাল ধারণা পাবেন।
curl -i https://unpkg.com/axios@0.16.1/dist/axios.min.js | grep Content-Length
হাওফ্যাট হল আরও একটি সরঞ্জাম যা মোট প্যাকেজের আকার প্রদর্শন করতে পারে:
npx howfat jasmine
node_modules
আমার মেশিনে এটিএম 21 বিজি দখল করুন;npkill
আপনাকে এটি করতে সহায়তা করতে পারে ! [চিত্রের বিবরণ এখানে প্রবেশ করুন ] ( i.stack.imgur.com/BKbyU.png )