programing

npm 스크립트 실행 시 출력을 억제하는 방법

sourcejob 2023. 8. 12. 10:13
반응형

npm 스크립트 실행 시 출력을 억제하는 방법

빌드 도구로 npm 스크립트를 실험해 보기로 했고 지금까지 마음에 듭니다.제가 해결하고 싶은 한 가지 문제는 어떤 것이 린팅을 통과하지 못할 때 jshint를 실행하는 스크립트를 실행할 때 "npm ERR!" 행이 엄청나게 많이 발생한다는 것입니다.린터의 출력이 더 의미가 있기 때문에 저는 이것들을 억제하고 싶습니다.

이것을 전체적으로 설정할 수 있는 좋은 방법이 있습니까? 그리고 각 스크립트 실행에 대해 설정할 수 있는 방법이 있습니까?

모든 스크립트:

로그 수준을 다음으로 설정하여 npm의 출력을 전체적으로 억제하여 이 문제를 해결할 수 있습니다.silent몇 가지 방법으로:

각각npm run호출:

npm run --silent <your-script>

또는 을(를) 생성하여.npmrc파일(이 파일은 프로젝트 디렉토리 -local- 또는 홈 폴더 -global-에 있을 수 있습니다)은 다음과 같습니다.

loglevel=silent

리소스:

npm 로그 수준 구성: https://docs.npmjs.com/misc/config#loglevel

npmrc: https://docs.npmjs.com/misc/config#loglevel

각 스크립트는 개별적으로:

린팅과 같은 특정 스크립트에서 이 문제를 해결하기 위해 사용한 간단한 방법은 추가하는 것입니다.|| true그러한 대본의 마지막에.이것은 npm 구성 변경 없이 작동합니다.

이렇게 하면 스크립트가 항상 종료되고0상황.이것은 npm을 속여서 스크립트가 성공했다고 생각하게 하고, 따라서 숨깁니다.ERR메시지입니다.좀 더 명확하게 말하고 싶다면, 추가할 수 있습니다.|| exit 0대신 같은 결과를 얻을 수 있습니다.

{
  "scripts": {
    "lint": "jshint || true",
   }
}

둘 다 사용할 수 있어야 합니다.--quiet그리고.--silent옵션,에서와 같이

npm install --quiet

--quietstderr 및 경고가 표시됩니다.--silent거의 모든 것을 억제해야 합니다.

다음으로 stdout/stderr를 보낼 수도 있습니다./dev/null이와 같이:

npm install > '/dev/null' 2>&1

그 이하의 완곡절.

npm install &> '/dev/null'
npm install --quiet --no-progress 

경고 및 오류를 유지하고, 이를 지원하는 단말기에서 ADHD 진행 표시줄을 억제합니다.

추가하지 않고 자동으로 유지할 개별 스크립트의 경우--silent매번, 당신은 당신의 이전 스크립트를 호출하고 추가하는 새로운 스크립트를 만들 수 있습니다.--silent.

패키지에 포함된 예제 스크립트.json:

    "dev-loud": "npm run build && nodemon -r dotenv/config dist/index.js",
    "dev": "npm run dev-loud --silent"

이벤트 수신기를 제거하여 스크립트 내에서 이 작업을 수행할 수 있습니다.

#!/usr/bin/env node

process.removeAllListeners('warning');

// Do your thang without triggering warnings

언급URL : https://stackoverflow.com/questions/34426332/how-to-suppress-output-when-running-npm-scripts

반응형