我决定尝试使用npm脚本作为构建工具,到目前为止,我还是喜欢它。我要解决的一个问题是,当运行脚本运行jshint时,如果没有通过处理,我会收到很多“ npm ERR!”。线。我想抑制这些,因为短绒棉的输出更有意义。
是否有一种很好的全局设置方法,并且有一种为每次运行的脚本设置它的方法吗?
我决定尝试使用npm脚本作为构建工具,到目前为止,我还是喜欢它。我要解决的一个问题是,当运行脚本运行jshint时,如果没有通过处理,我会收到很多“ npm ERR!”。线。我想抑制这些,因为短绒棉的输出更有意义。
是否有一种很好的全局设置方法,并且有一种为每次运行的脚本设置它的方法吗?
Answers:
您可以通过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",
}
}
|| true
;那不是一个好的解决方案。我不想使用来使所有其他命令静音.npmrc
。一直运行这个特定脚本-s
似乎也很愚蠢。有没有人找到使单个脚本静音的更好的解决方案?
您应该能够同时使用--quiet
和--silent
选项,如
npm install --quiet
--quiet
将显示stderr和警告,--silent
应抑制几乎所有情况
您还可以将stdout / stderr发送到/dev/null
,如下所示:
npm install > "/dev/null" 2>&1
或更少
npm install &> /dev/null
--quiet
适用于npm脚本;)@hackel