Webpack : 무음 출력


82

webpack에 "중요한 정보"만 터미널에 기록하도록하는 구성 옵션이 있는지 알고 싶습니다. 이 모든 것이 아니라 오류와 경고에 불과합니다.

웹팩이있는 터미널 출력

너무 많은 출력이 있습니다! 일반적인 것들을 억제하고 webpack 만 경고 / 오류를 출력하도록하고 싶습니다. 대한 솔루션을 하시겠습니까 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하면 원하는 위치에 더 가까워집니다.
naartjie 22:57에

1
것으로 보인다 단지 내 테스트 :-) 위해 그것을 얻을 수있는 지금 있다면 ... 웹팩-DEV-서버에 그것을 할
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감사를 알고하는 것이 좋다
naartjie

답변:


56

내 웹팩 구성에서 이렇게하면 증분 빌드 시간이 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.
Neal Ehardt

41

👋 모든 것이 필요하지 않습니다. 필요한 것은

사실,이 두 가지는 훌륭하게 작동합니다.

stats: 'errors-only',

내 보낸 개체의 끝에.

stats: 'minimal',오류나 새 컴파일이 발생할 때만 출력을 사용할 수도 있습니다 . Webpack공식 문서 에서 더 많은 것을 읽으십시오 .


31

이 기능이 언제 추가되었는지는 모르겠지만 문서 에서 webpackMiddleware속성을 추가 할 수 있고 noInfo: true. 이렇게하면 모든 소음이 제거됩니다! 그러나 오류가있는 경우에도 여전히 출력이 표시됩니다. 예이!


10

--display표시하려는 정보 양의 수준을 선택할 수 있는 옵션이 있습니다.

에서 webpack --help:

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

당신이 정보를 더 정확하게 표시 구성 할 경우, 당신은 또한 귀하의 웹팩 구성 할 수 있습니다 통계 귀하의 필드를 webpack.config.js.


8

를 사용하는 경우 두 번째 매개 변수로 개체 webpack-dev-middleware에을 던질 수 있습니다 noInfo: true. 또한 노드 / 익스프레스 서버도 실행 중이라고 가정합니다.

여기에 이미지 설명 입력

건배.


나는 Google 검색이 여기에서 그들을 이끌 기 때문에 약간 다른 구성에서 비슷한 문제를 가진 다른 사람들을 위해 이것을 게시하고 있습니다.
leocreatini

webpack.config.js noInfo: truedevServer구성 항목에 추가 할 수도 있습니다 .
Chad Johnson

나를 위해 일한 유일한 사람. webpackMiddleware에서도 작동합니다. 감사합니다. 쓰레기 출력이 나를 미치게 만들었습니다.
Doa


2

아래의 통계 구성을 권장합니다. 이렇게하면 중요한 로그가 유지되고 쓸모없는 정보가 제거됩니다.

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

1

Webpack API를 직접 사용하고을 호출하는 stats.toString()경우 매개 변수를 전달하여 노이즈를 줄일 수 있습니다.

webpack(config).watch(100, (err, stats) => {
  console.log(stats.toString({chunks: false}))
})

1

여기서 관심있는 것은 Webpack모듈 (일부)입니다 . 기본적으로 출력 을 생성 하는 것은이 모듈입니다 . 기본적으로 출력에는 대부분 자산 목록과 모듈 목록이 포함됩니다. 지시문으로 모듈을 숨길 수 있습니다 . 자산과 관련하여 유사한 옵션이 없습니다. 그러나 사전 설정있습니다 . 옵션으로 프리셋을 지정할 수 있습니다 . 그리고 사전 가죽 자산한다는 것은 ... .stats --hide-modules--displaynone

통계에 영향을 미치는 또 다른 방법이 있습니다 webpack.config.js. stats: {assets: false, modules: false}출력을 크게 줄이려면 추가하십시오 . 또는 stats: 'none'Webpack을 완전히 침묵 시키십시오. 내가 그것을 추천하는 것은 아닙니다. 일반적으로 errors-only갈 방법입니다. 영향을 미치 webpack-dev-server려면 devServer열쇠 아래에 두십시오 .

Webpack 2.x에는 --display옵션 이 없습니다 . 모듈을 숨기는 유일한 방법은 --hide-modules스위치입니다. 즉, stats: 'errors-only'또는 stats: {modules: false}구성에서 지정해 도 효과가 없음을 의미합니다. 때문에 코드의 조각 우선 모든.

의 경우 webpack-dev-server도있다 --no-info--quiet옵션을 제공합니다.

작동 방식에 대한 더 많은 통찰력. 개체를webpack-cli 만듭니다 . 컴파일이 완료되면 통계를 문자열 로 변환 하여 출력 합니다. 변환 통계JSON은 다음 변환은 JSON문자열 . 여기 에서 기본값을 볼 수 있습니다 .outputOptionsStats.toString

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.