वेबपैक: मौन आउटपुट


90

मैं जानना चाहूंगा कि क्या वेबपैक को बताने के लिए केवल "महत्वपूर्ण जानकारी" टर्मिनल पर लॉग करने के लिए एक कॉन्फ़िगरेशन विकल्प है। बहुत ज्यादा सिर्फ त्रुटियां और चेतावनी, यह सब नहीं:

वेबपैक के साथ टर्मिनल का आउटपुट

वहाँ सिर्फ इतना उत्पादन है! सामान्य सामान को दबाने के लिए प्यार करेंगे और केवल वेबपैक आउटपुट को चेतावनी / त्रुटियां हैं। के लिए एक समाधान चाहते हैं webpack,webpack-dev-server और karma-webpack

नोट : मैंने कोशिश की noInfo: trueऔरquiet: true वह चाल नहीं चली।


संपादित करें: मैं सोच रहा हूं कि यह संभव नहीं हो सकता है, इसलिए मैंने github पर एक मुद्दा बनाया है: https://github.com/webpack/webpack/issues/1191


ऐसा लगता है कि कमांड लाइन पर noInfoविकल्प वास्तव में इसका उलटा है --info, जो कि चूक करता trueहै यदि आप webpack-dev-server --info falseइसे चलाते हैं तो आपको इसे उसी स्थान पर पहुंचाना चाहिए जहां आप होना चाहते हैं।
नर्तजी

1
यह वेबपैक-देव-सर्वर के लिए करने के लिए प्रतीत होता है ... अब केवल अगर मैं इसे अपने परीक्षणों के लिए प्राप्त कर सकता हूं :-)
kentcdodds

1
अगर किसी की जिज्ञासा है, तो यहाँ मैं अभी क्या करता हूँ:NODE_ENV=development webpack-dev-server --content-base app/ --port 8888 --colors --progress --info false
kentcdodds

1
यह भी काम करता है:NODE_ENV=development webpack-dev-server --content-base app/ --port 8888 --colors --progress --no-info
kentcdodds

आह, --no-infoयह जानना अच्छा है, धन्यवाद
१६:२५ पर नर्तजी

जवाबों:


57

मेरे वेबपैक कॉन्फिग में, ऐसा करने से मेरा वृद्धिशील निर्माण समय 8 सेकंड कम हो गया और आउटपुट चुप हो गया। मुख्य एक हैchunks: false

अपनी आवश्यकताओं को पूरा करने के लिए इसके साथ खेलें

module.exports = {
 devServer: {
  stats: {
    colors: true,
    hash: false,
    version: false,
    timings: false,
    assets: false,
    chunks: false,
    modules: false,
    reasons: false,
    children: false,
    source: false,
    errors: false,
    errorDetails: false,
    warnings: false,
    publicPath: false
  }
 }
}

4
बहुत अच्छा काम करता है! अक्षम करने के लिए महत्वपूर्ण हैं hash, version, timings, assets, chunks
नील एहदर्ट

44

All आपको वह सब नहीं चाहिए। बस आपको जरूरत है

असल में, ये दोनों महान काम करते हैं।

stats: 'errors-only',

निर्यात की गई वस्तु के अंत में।

stats: 'minimal',त्रुटियों या नए संकलन होने पर कोई भी इसका केवल आउटपुट कर सकता है। वेबपैक के आधिकारिक प्रलेखन से अधिक पढ़ें


31

मुझे नहीं पता कि यह सुविधा कब जोड़ी गई थी, लेकिन मैंने केवल डॉक्स में देखा कि आप एक webpackMiddlewareसंपत्ति जोड़ सकते हैं और उस पर आप निर्दिष्ट कर सकते हैं noInfo: true। ऐसा करने से सारा शोर दूर हो जाता है! लेकिन आप अभी भी आउटपुट देखते हैं जब त्रुटियाँ होती हैं। वाह!


11

आपको मिल गया है --display विकल्प है जो आपको प्रदर्शित सूचना मात्रा का स्तर चुनने में सक्षम बनाता है।

से webpack --help:

--display: Select display preset
[string] [choices: "", "verbose", "detailed", "normal", "minimal", "errors-only", "none"]

यदि आप अधिक सटीक रूप से प्रदर्शित informations को कॉन्फ़िगर करना चाहते हैं, तो आप अपने वेबपैक को अपने में मौजूद आँकड़े फ़ील्ड से भी कॉन्फ़िगर कर सकते हैं webpack.config.js


8

यदि आप उपयोग कर रहे हैं तो आप एक वस्तु में दूसरे पैरामीटर के रूप में webpack-dev-middlewareफेंक सकते हैं noInfo: trueयह मानते हुए कि आपके पास एक नोड / एक्सप्रेस सर्वर भी है।

यहां छवि विवरण दर्ज करें

चीयर्स।


मैं इसे अन्य लोगों के लिए थोड़े अलग कॉन्फ़िगरेशन पर समान समस्या के साथ पोस्ट कर रहा हूं क्योंकि Google खोज उन्हें यहां ले जा रहा है।
leocreatini

1
आप यह भी जोड़ सकते हैं noInfo: trueकरने के लिए devServerwebpack.config.js में विन्यास आइटम।
चाड जॉनसन

केवल वही जो मेरे लिए काम करता था। इसके अलावा webpackMiddleware पर काम करता है। धन्यवाद, बकवास आउटपुट मुझे पागल कर रहा था।
दोआं


2

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

stats: {
  cached: false,
  cachedAssets: false,
  chunks: false,
  chunkModules: false,
  chunkOrigins: false,
  modules: false
}

2

आप यहां जो रुचि रखते हैं , वह वेबपैक का मॉड्यूल (भाग) है । असल में, यह यह मॉड्यूल है जो आउटपुट का उत्पादन करता है । डिफ़ॉल्ट रूप से आउटपुट में अधिकतर संपत्ति की सूची, और मॉड्यूल की सूची होती है। आप निर्देशों के साथ मॉड्यूल छिपा सकते हैं । संपत्ति के संबंध में, कोई समान विकल्प मौजूद नहीं है। लेकिन प्रीसेट हैं । आप विकल्प के साथ पूर्व निर्धारित कर सकते हैं । और पूर्व निर्धारित है कि संपत्ति छुपाता है ...stats --hide-modules--displaynone

आँकड़ों को प्रभावित करने का एक और तरीका है webpack.config.js:। stats: {assets: false, modules: false}आउटपुट को कम करने के लिए जोड़ें । या stats: 'none'वेबपैक को पूरी तरह से चुप कराने के लिए। ऐसा नहीं है कि मैं यह सलाह देते हैं। आम तौर पर जाने errors-onlyका एक तरीका है। इसे प्रभावित करने के लिए इसे चाबी के webpack-dev-serverनीचे devServerरखें।

वेबपैक 2.x में --displayविकल्प नहीं है । और मॉड्यूल को छिपाने का एकमात्र तरीका --hide-modulesस्विच है। उसके द्वारा मेरा मतलब है कि निर्दिष्ट stats: 'errors-only'या stats: {modules: false}विन्यास में कोई प्रभाव नहीं है। के बाद से इस कोड का टुकड़ा उस सब को ओवरराइड करता है।

इसके लिए webpack-dev-serverभी विकल्प --no-infoऔर --quietविकल्प हैं।

यह कैसे काम करता है में कुछ और अंतर्दृष्टि। वस्तुwebpack-cli बनाता outputOptionsहै । जब संकलन पूरा हो जाता है, तो यह आँकड़े को स्ट्रिंग में परिवर्तित करता है और इसे आउटपुट करता है। Stats.toStringधर्मान्तरित आँकड़े को json , तो धर्मान्तरित JSON करने के लिए स्ट्रिंग । यहां आप डिफॉल्ट देख सकते हैं ।


1

यदि आप सीधे Webpack API का उपयोग कर रहे हैं, और आप कॉल कर रहे हैं stats.toString(), तो आप शोर को कम करने के लिए पैरामीटर पास कर सकते हैं:

webpack(config).watch(100, (err, stats) => {
  console.log(stats.toString({chunks: false}))
})
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.