我决定try 使用npm脚本作为构建工具,到目前为止我很喜欢它.我想解决的一个问题是,当运行一个脚本来运行jshint时,当某些东西没有通过linting时,我会得到大量的"npm ERR!"线我想 suppress 这些,因为林特的输出更有意义.
是否有一种全局设置的好方法,以及是否有一种为每次脚本运行设置它的方法?
我决定try 使用npm脚本作为构建工具,到目前为止我很喜欢它.我想解决的一个问题是,当运行一个脚本来运行jshint时,当某些东西没有通过linting时,我会得到大量的"npm ERR!"线我想 suppress 这些,因为林特的输出更有意义.
是否有一种全局设置的好方法,以及是否有一种为每次脚本运行设置它的方法?
您可以通过以下两种方式将日志(log)级别设置为silent
,通过整体 suppress npm的输出来解决此问题:
每调用npm run
次:
npm run --silent <your-script>
或者通过创建一个.npmrc
文件(该文件可以位于项目目录或主文件夹中)来全局创建,其中包含以下内容:
loglevel=silent
资源:
npm日志(log)级别配置: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",
}
}