जब मैं एनपीएम पर पैकेज खोजता हूं, तो मैं पैकेज आकार (केबी या एमबी, आदि में) देखना चाहूंगा। एनपीएम इस जानकारी को नहीं दिखाता है।
मैं यह कैसे निर्धारित कर सकता हूं कि मेरी परियोजना में एनपीएम पैकेज कितना प्रस्फुटित होगा?
जब मैं एनपीएम पर पैकेज खोजता हूं, तो मैं पैकेज आकार (केबी या एमबी, आदि में) देखना चाहूंगा। एनपीएम इस जानकारी को नहीं दिखाता है।
मैं यह कैसे निर्धारित कर सकता हूं कि मेरी परियोजना में एनपीएम पैकेज कितना प्रस्फुटित होगा?
जवाबों:
यदि आप शायद मापना चाहते हैं तो यह प्रभाव एक पैकेज है यदि आप इसे अपने ऐप बंडल में जोड़ना चाहते थे। अधिकांश अन्य उत्तर केवल स्रोत फ़ाइलों के आकार का अनुमान लगाएंगे, जो शायद इनलाइन टिप्पणियों, लंबे संस्करण आदि के कारण गलत हैं।
एक छोटी सी उपयोगिता है जो मैंने बनाई है कि आप इसे बंडल में लाने के बाद आपको पैकेज का न्यूनतम + gzipped आकार बताएंगे -
https://cost-of-modules.herokuapp.comअब https://bundlephobia.com एक बहुत ही उपयोगी टूल btw के लिए निर्देशित करता है ।
इस कॉस्ट-ऑफ-मॉड्यूल प्रोजेक्ट पर एक नज़र डालें । यह एक npm पैकेज है जो एक पैकेज के आकार और बच्चों की संख्या को सूचीबद्ध करेगा।
स्थापना:
npm install -g cost-of-modules
उपयोग: cost-of-modulesउस निर्देशिका में चलाएं जिसमें आप काम कर रहे हैं।
मैंने एक टूल बनाया है, npm डाउनलोड साइज़ , जो किसी दिए गए npm पैकेज के लिए टैरबॉल साइज़ का निरीक्षण करता है, जिसमें डिपेंडेंसी ट्री में सभी टारबॉल शामिल हैं। यह आपको लागत (स्थापना समय, डिस्क स्थान, रनटाइम संसाधन, सुरक्षा ऑडिट, ...) का एक विचार देता है जो निर्भरता को सामने से जोड़ता है।
ऊपर की छवि में, टारबॉल का आकार पैकेज का टारगेज है, और कुल आकार सभी टारबॉल का आकार है। उपकरण बहुत बुनियादी है, लेकिन यह वही करता है जो यह कहता है।
एक cli टूल भी उपलब्ध है। आप इसे इस तरह स्थापित कर सकते हैं:
npm i -g download-size
और इसे इस तरह से उपयोग करें:
$ download-size request
request@2.83.0: 1.08 MiB
स्रोत कोड Github पर उपलब्ध है: एपीआई , क्ली टूल और वेब क्लाइंट ।
मैंने पैकेज Phobia को इस वर्ष की शुरुआत में npmjs.com में पैकेज आकार की जानकारी प्राप्त करने की आशा के साथ बनाया और समय के साथ पैकेज ब्लोट को भी ट्रैक किया।
इसे npm installसर्वर-साइड निर्भरता जैसे expressया देव निर्भरता के लिए चलाने के बाद डिस्क स्थान को मापने के लिए डिज़ाइन किया गया है jest।
आप इस उपकरण और इसी तरह के अन्य उपकरणों के बारे में यहां पढ़ सकते हैं: https://github.com/styfle/packagephobia
अद्यतन 2020
"अनपैक्ड साइज" (मूल रूप से पब्लिश साइज) npmjs.com वेबसाइट पर "टोटल फाइल्स" के साथ उपलब्ध है। हालांकि, यह पुनरावर्ती अर्थ नहीं है जो npm installसंभवतः बहुत बड़ा होगा क्योंकि एक पैकेज की संभावना कई पैकेजों पर निर्भर करती है (इस प्रकार पैकेज फोबिया अभी भी प्रासंगिक है)।
एक सुविधा के लिए एक लंबित आरएफसी भी है जो सीएलआई से इस जानकारी को प्रिंट करता है।
यदि आप वेबपैक का उपयोग कर रहे हैं तो आपके मॉड्यूल बंडल पर एक नज़र है:
मैं निश्चित रूप से पहला विकल्प सुझाता हूं। यह इंटरेक्टिव ट्रेप में आकार दिखाता है। यह आपकी बंडल फ़ाइल में पैकेज का आकार खोजने में आपकी सहायता करता है।

इस पोस्ट में अन्य उत्तर आपको परियोजना का आकार दिखाते हैं, लेकिन आप परियोजना के सभी हिस्सों का उपयोग नहीं कर सकते हैं, उदाहरण के लिए पेड़ के झटकों के साथ। अन्य दृष्टिकोण तब आपको सटीक आकार नहीं दिखा सकते हैं।
पैकेज-आकार का उपयोग करने का प्रयास करें ।
npx package-size vue,vue-router,vuex react,react-dom,react-router,redux
यदि आप Visual Studio कोड का उपयोग करते हैं, तो आप आयात लागत नामक एक्सटेंशन का उपयोग कर सकते हैं ।
यह एक्सटेंशन संपादक में इनलाइन को आयातित पैकेज के आकार को प्रदर्शित करेगा। यह एक्सटेंशन आयातित आकार का पता लगाने के लिए बेबिली-वेबपैक-प्लगइन के साथ वेबपैक का उपयोग करता है।
आप npm-मॉड्यूल-आँकड़े देख सकते हैं । यह एक एनपीएम मॉड्यूल है जो एनपीएम मॉड्यूल के आकार और इसकी निर्भरता को मॉड्यूल को स्थापित या डाउनलोड किए बिना प्राप्त करता है।
उपयोग:
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
डाउनलोड को छोटा किया गया है, लेकिन इसे कम नहीं किया गया है, लेकिन जब आप दो या दो से अधिक की तुलना करते हैं, तो आपको पैकेज के सापेक्ष आकार का अच्छा विचार मिलता है।
node_modulesपर मेरी मशीन पर atm 21bg पर कब्जा;npkillक्या आप ऐसा करने में मदद कर सकते हैं ! [यहां छवि विवरण दर्ज करें ] ( i.stack.imgur.com/BKbyU.png )