我决定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",
   }
}

Node.js相关问答推荐

如果非SQL函数在事务内部运行失败,PG-Promise事务会回滚吗?

正在try 使用Azure Function App上载文件时未上载文件(&Q;)

已知NPM无法在node.js V12上运行的问题

2023年如何在Node.js中使用Gmail发送邮箱?

在快速路由中使用 axios 会在数据字段中返回特殊字符而不是 json

如何从哪个应用程序用户中找到在 Firebase 身份验证中进行身份验证的用户

如何在 NestJS 中使用外部生成的 swagger.json?

获取用户 ID 后,Firebase 函数 onCreate 方法在 Firestore 上不起作用

cURL 和 shell 任务

Firestore promise 在退货前等待产品详细信息

使用加密模块的流功能获取文件的哈希(即:没有 hash.update 和 hash.digest)

等价于 Node.js 的 Rails 控制台

Node.js、Cygwin 和 Socket.io 走进一家wine 吧……Node.js 抛出 ENOBUFS,所有人都死了

mongoose 模式中的嵌套对象

Webpack TypeScript module.hot 不存在

如何在 AWS 上的 Amazon Linux AMI 中自动启动 node.js 应用程序?

通过 POST 请求将数据从 node.js 服务器发送到 node.js 服务器

Javascript在try块内设置const变量

NodeJS 中的 HTTPS 请求

在 Node.js 上使用 Connect 无法获取 /