Web paketi: sessiz çıktı


91

Webpack'e sadece "önemli bilgileri" terminale kaydetmesini söyleyen bir yapılandırma seçeneği olup olmadığını bilmek istiyorum. Hemen hemen sadece hatalar ve uyarılar, bunların hepsi değil:

webpack ile terminal çıkışı

Çok fazla çıktı var! Yaygın şeyleri bastırmak ister ve yalnızca webpack'in uyarıları / hataları çıktısını alır. İçin bir çözüm ister misiniz webpack, webpack-dev-serverve karma-webpack.

Not : Denedim noInfo: trueve quiet: trueancak hile yapmak görünmüyordu.


Düzenleme: Bunun mümkün olmayabileceğini düşünüyorum, bu yüzden github'da bir sorun oluşturdum: https://github.com/webpack/webpack/issues/1191


1
Görünüşe göre komut satırında noInfoseçenek aslında seçeneğin tersidir --info, bu varsayılan değerdir, truebu yüzden çalıştırırsanız webpack-dev-server --info falsesizi olmak istediğiniz yere yaklaştırır.
naartjie

1
Görünüşe göre bunu webpack-dev-server için yapıyor ... Şimdi keşke testlerim için alabilirsem :-)
kentcdodds

1
Meraklı biri varsa, işte şimdi uyguladığım şey:NODE_ENV=development webpack-dev-server --content-base app/ --port 8888 --colors --progress --info false
kentcdodds

1
Bu da işe yarıyor:NODE_ENV=development webpack-dev-server --content-base app/ --port 8888 --colors --progress --no-info
kentcdodds

Ah, --no-infobilmek güzel, teşekkürler
naartjie

Yanıtlar:


57

Web paketi yapılandırmamda, bunu yapmak artımlı derleme süremi 8 saniye azalttı ve çıktıyı susturdu. Ana olanchunks: false

İhtiyaçlarınıza uyması için onunla oynayın

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
Harika çalışıyor! Devre dışı bırakılacak anahtarlar şunlardır hash, version, timings, assets, chunks.
Neal Ehardt

44

👋 Bunların hepsine ihtiyacınız yok. Tek ihtiyacınız olan şey

Aslında bu ikisi harika çalışıyor.

stats: 'errors-only',

dışa aktarılan nesnenin sonunda.

Ayrıca stats: 'minimal',, hata veya yeni derleme gerçekleştiğinde yalnızca çıktı olarak kullanılabilir . Webpack'in resmi belgelerinden daha fazlasını okuyun .


31

Bu özelliğin ne zaman eklendiğini bilmiyorum, ancak belgelerde bir webpackMiddlewaremülk ekleyebileceğinizi ve bunu belirtebileceğinizi fark ettim noInfo: true. Bunu yapmak tüm gürültüyü ortadan kaldırır! Ancak hata olduğunda yine de çıktı görürsünüz. Yaşasın!


11

Sen var --displaygörüntülenmesini istediğiniz bilgi miktarının düzeyi seçmenize olanak verir seçeneği.

Kimden webpack --help:

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

Eğer bilgiler daha kesin görüntülenen yapılandırmak istiyorsanız, siz de ile WebPack yapılandırabilirsiniz istatistikler Gözlerinde farklı alanda webpack.config.js.


8

Eğer kullanıyorsanız, bir nesneyi ikinci parametre olarak webpack-dev-middlewareatabilirsiniz noInfo: true. Ayrıca çalışan bir düğüm / ekspres sunucunuz olduğunu varsayarsak.

görüntü açıklamasını buraya girin

Şerefe.


Bunu, benzer sorunu olan diğer kişiler için biraz farklı bir yapılandırmada yayınlıyorum çünkü Google Arama onları buraya yönlendiriyor.
leocreatini

1
Ayrıca ekleyebilir noInfo: trueiçin devServerwebpack.config.js yapılandırma öğesi.
Chad Johnson

Sadece benim için çalıştı. Ayrıca webpackMiddleware üzerinde de çalışır. Teşekkür ederim, saçma çıktı beni deli ediyordu.
Doa


2

Aşağıda istatistik yapılandırmasını önerin, bu önemli günlükleri tutacak ve gereksiz bilgileri kaldıracaktır.

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

2

Burada ilgilendiğiniz şey Webpack'in modülü (parçası) . Temel olarak, çıktıyı üreten bu modüldür . Çıktı, varsayılan olarak çoğunlukla varlıkların listesini ve modüllerin listesini içerir. Yönerge ile modülleri gizleyebilirsiniz . Varlıklarla ilgili olarak benzer bir seçenek mevcut değildir. Ancak ön ayarlar var . Seçeneği ile ön ayarı belirtebilirsiniz . Ve önceden gizler varlıklar olmasıdır ... .stats --hide-modules--displaynone

İstatistikleri etkilemek için başka bir yolu vardır: webpack.config.js. stats: {assets: false, modules: false}Çıkışı önemli ölçüde azaltmak için ekleyin . Veya stats: 'none'Webpack'i tamamen susturmak için. Tavsiye ettiğimden değil. Genellikle errors-onlygitmek için bir yoldur. Etkilemek webpack-dev-serveriçin devServeranahtarın altına koyun .

Webpack 2.x'in --displayseçeneği yoktur. Ve modülleri gizlemenin tek yolu --hide-modulesdeğiştirmektir. Bununla , yapılandırmada belirtmenin stats: 'errors-only'veya stats: {modules: false}yapılandırmanın hiçbir etkisi olmadığını kastediyorum . Bu kod parçası tüm bunları geçersiz kıldığından beri .

İçin webpack-dev-serverde vardır --no-infove --quietseçenekler.

Nasıl çalıştığına dair biraz daha bilgi. nesnewebpack-cli yaratır . Derleme bittiğinde, istatistikleri dizeye dönüştürür ve çıkarır . dönüştürüroutputOptionsStats.toString istatistikleri için json ardından dönüştürür json için dize . Burada varsayılanları görebilirsiniz .


1

Doğrudan Web Paketi API'sini kullanıyorsanız ve arıyorsanız stats.toString(), gürültüyü azaltmak için parametreleri iletebilirsiniz:

webpack(config).watch(100, (err, stats) => {
  console.log(stats.toString({chunks: false}))
})
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.