2015-06-16 9 views
12

मुझे वेबपैक भाग सर्वर से लोड होने पर प्रगति पट्टी प्रदर्शित करने की आवश्यकता है। क्या यह हासिल करने के लिए कोई आसान समाधान है? मैं उम्मीद करता हूं कि इसके लिए कुछ प्लगइन पहले से मौजूद है, लेकिन Google पर एक त्वरित खोज ने कोई भी खुलासा नहीं किया।वेबपैक खंड लोडिंग प्रगति

धन्यवाद

+1

शानदार प्रश्न। मुझे पता है कि कॉलबैक नाम डिफ़ॉल्ट रूप से 'वेबपैक जेसनपी' है, इसलिए आप बंदर-पैच कर सकते हैं कि यह पूरा होने पर पता लगाने के लिए, लेकिन बाकी सभी आंतरिक रूप से वेबपैक के 'परिभाषित' फ़ंक्शन/मॉड्यूल –

+0

पर स्कॉप्ड हो गए हैं आदर्श रूप से वेबपैक एक ईवेंट प्रदान कर सकता है चंक लोडिंग स्थिति के लिए एपीआई, लेकिन आपको इसे वेबपैक कोर के साथ ले जाना होगा: https://github.com/webpack/webpack/issues –

उत्तर

0

--UPDATE-- मेरे लिए क्षमा याचना मैं गलत समझा था सवाल फिर भी मैं बस यहाँ इस जवाब रहेंगे, क्योंकि यह एक तरह से यह करने के लिए संबंधित है।


मेरा मानना ​​है कि के लिए है कि आप क्या देख रहे हैं: "प्रगति-बार-webpack-प्लगइन" सिर्फ एक NPM इस पर स्थापित है:

NPM स्थापित प्रगति-बार-webpack-

plugins: [ 
    new ProgressBarPlugin() 
] 
: प्लगइन डी

फिर तो जैसे अपने webpack प्लगइन विन्यास में शामिल https://www.npmjs.com/package/progress-bar-webpack-plugin


भी आप के लिए यह करने के लिए एक और प्लगइन नहीं है:

वहाँ और अधिक विकल्प है कि आप इस प्लगइन के रूप में अच्छी तरह से जोड़ सकते हैं, जो आप यहाँ देख सकते हैं। इसे प्रोग्रेसप्लगिन कहा जाता है सिवाय इसके कि यह प्रत्येक मॉड्यूल की एक सूची तैयार करेगा और प्रगति पट्टी के बजाय प्रतिशत बनाएगा।

new webpack.ProgressPlugin(function handler(percentage, msg) { 
    var p = Math.floor(percentage * 100); 
    if (config.percent !== p) { 
    config.percent = p; 
    console.log(msg, config.percent + '%'); 
    } 
}), 

बस अपने webpack प्लगइन्स को यह जोड़ने और इसे टर्मिनल में बनाया मॉड्यूल के लिए प्रगति दिखाएगा:

यहाँ एक उदाहरण कार्यान्वयन है।

कोई भी अच्छी तरह से काम करता है, मैं अधिमानतः बस प्रगति पट्टी की तरह हूं क्योंकि मैं अपने टर्मिनल में एक बड़ी सूची नहीं देखना चाहता हूं। आपकी पंसद! :)

+0

यही मेरा प्रश्न नहीं था। जब मैं ऐप बनाता हूं तो मुझे बिल्ड प्रक्रिया की प्रगति में दिलचस्पी नहीं है। मुझे उस उपयोगकर्ता को प्रगति संकेतक प्रदर्शित करने में दिलचस्पी है जो मेरे ऐप का उपयोग कर रहा है, जबकि ऐप के हिस्सों को सर्वर से लोड किया जा रहा है। – nutrina

+0

मेरी माफी माँगती है क्योंकि मैंने आपके प्रश्न को गलत समझा। हम्म, सुनिश्चित नहीं है कि मुझे यह जवाब हटाना चाहिए या नहीं। कोई बात नहीं। हालांकि मैं देख रहा हूं कि आप जो खोज रहे हैं वह एक प्रगति सूचक उपयोगकर्ता और आपके सर्वर के साथ इंटरैक्ट करता है। मैंने इसे देखने की भी कोशिश की है, और मुझे कोई सफलता नहीं मिली है। इस प्लगइन को संभवतः इसके लिए कुछ सॉकेट कनेक्शन की आवश्यकता होगी। यह वास्तव में कुछ ऐसा हो सकता है जो कोई वेबपैक के लिए बना सकता है क्योंकि मुझे नहीं लगता कि यह वर्तमान में मौजूद है। –

1

require.ensure एक वादा देता है। इसके साथ आप इंगित कर सकते हैं कि एक खंड लोड हो गया है या नहीं:

//entry.js 
console.log('loading my chunk...); 
let chunkPromise = require.ensure([],() => { 
    require('./my-module'); 
}); 

chunkPromise 
    .then(() => console.log('chunk loaded')) 
    .catch(e => console.error('chunk failed to load'));