当前位置:  开发笔记 > 编程语言 > 正文

如何在运行npm脚本时抑制输出

如何解决《如何在运行npm脚本时抑制输出》经验,为你挑选了3个好方法。

我决定尝试使用npm脚本作为构建工具,到目前为止我喜欢它.我想解决的一个问题是当运行脚本运行jshint时,当某些东西没有通过linting时,我得到了大量的"npm ERR!" 线.我想压制这些因为linter的输出更有意义.

有没有一种很好的方法来全局设置它,有没有办法为每个脚本运行设置它?



1> Sanketh Katt..:

所有脚本:

您可以通过silent以下几种方式将日志级别设置为抑制整体npm的输出来解决此问题:

在每次npm run调用时:

npm run --silent 

或者通过以下方式创建.npmrc文件(此文件可以在项目目录或主文件夹中)全局:

loglevel=silent

资源:

npm日志级别配置:https://docs.npmjs.com/misc/config#loglevel

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

每个脚本,单独:

我用来解决某些脚本(例如linting)上的这个问题的一个简单技巧是|| true在这些脚本的末尾附加.这将在没有任何npm配置更改的情况下工作.

这将确保脚本始终以0状态退出.这使得npm认为脚本成功,因此隐藏了ERR消息.如果你想更明确,你可以|| exit 0改为追加,它应该达到相同的结果.

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


这真的很荒谬(不要责怪你).我不想追加`|| TRUE`; 这不是一个好的解决方案.我不想使用`.npmrc`来静音所有其他命令.用`-s`一直运行这个特殊的脚本也似乎非常愚蠢.有没有人找到一个更好的解决方案来沉默单个脚本?

2> 小智..:

您应该能够同时使用--quiet--silent选项,如

npm install --quiet

--quiet将显示stderr和警告,--silent应该压制几乎所有的东西

您也可以发送stdout/stderr /dev/null,如下所示:

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

或者更简洁

npm install &> /dev/null


在Windows中,它是npm install --quiet> NUL

3> Michael Cole..:
npm install --quiet --no-progress 

将保留警告和错误,并在支持它的终端上取消ADHD进度栏。

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有