如何解决在脚本定义中将 NPM 日志级别设置为“安静”
我的项目有一个简单的 CLI 工具,我通过 NPM/Yarn 脚本运行:
"scripts": {
"cli": "dotenv ts-node -r tsconfig-paths/register src/cli/index.ts --",...
}
我想将 NPM/Yarn 在脚本运行时自动写入标准输出的日志信息静音。
默认输出为:
$~/foo> yarn cli --help
yarn run v1.22.5
$ dotenv ts-node -r tsconfig-paths/register src/cli/index.ts -- --help
cli <command>
Foo bar baz bat
Options:
--help Show help [boolean]
✨ Done in 2.42s.
我想去掉它自己写出命令的部分,以及“在 x
s 中完成”部分。
我知道我可以使用 yarn --silent cli
或 npm run --quiet cli
手动完成,或者我可以在 npmrc 中设置 loglevel=quiet
,但两者都不可取。
我不想使用 npmrc,因为我想为其他脚本零售输出,我不想要求用户自己使用 --silent
标志运行它。
CLI 工具生成的 JSON 会被输入到其他脚本中,因此如果它是干净的输出,可以在没有 NPM/Yarn guff 的情况下重定向或通过管道传输,这是理想的选择。
我尝试在命令的开头添加 --silent
,但这不起作用。我尝试将 npm_config_loglevel=quiet
设置为环境变量,但这不起作用。
还有什么我可以尝试的吗,或者只是不支持?
解决方法
在调用 npm run script
时,默认情况下您将始终获得此类输出,并且(当前)无法禁用它。
如果你不想要 npm 输出,直接调用你的脚本,不使用 npm。
例如而不是执行npm run cli
,然后执行npx dotenv ts-node -r tsconfig-paths/register src/cli/index.ts --
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。