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

我决定尝试npm脚本作为构build工具,到目前为止,我喜欢它。 我想解决的一个问题是当运行一个脚本来运行jshint,当一些事情没有通过linting我得到了大量的“npm错误! 线。 我想压制这些,因为linter的输出更有意义。

有没有一种好的方法来设置这个全球性,有没有一种方法来为每个脚本运行设置它?

所有脚本:

你可以通过抑制npm的输出来解决这个问题,通过几种方式设置日志级别为silent

在每个npm run调用中:

 npm run --silent <your-script> 

或者在全局范围内创build.npmrc文件(该文件可以在您的项目目录或您的主文件夹中),具体如下:

 loglevel=silent 

资源:

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

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

每个脚本分别是:

我用来解决这个问题的一个简单的技巧就是在linting这样的脚本上添加|| true 在这样的脚本结尾是|| true 。 这将工作没有任何npmconfiguration更改。

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

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

你应该可以同时使用--quiet--silent选项

 npm install --quiet 

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

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

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