一尘不染

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

node.js

我决定尝试使用npm脚本作为构建工具,到目前为止,我还是喜欢它。我想解决的一个问题是,当运行脚本运行jshint时,如果没有通过处理,我会收到很多“ npm
ERR!”!线。我想抑制这些,因为短绒棉的输出更有意义。

是否有一种全局设置此属性的好方法,并且有一种方法可以针对每次运行的脚本进行设置?


阅读 264

收藏
2020-07-07

共1个答案

一尘不染

所有脚本:

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

每次npm run调用时:

npm run --silent <your-script>

或通过以下方式全局创建.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",
   }
}
2020-07-07