运行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