【发布时间】:2019-09-10 16:40:51
【问题描述】:
我正在使用 node 构建一个 CLI 工具,并希望使用 fs.promise API。但是,当应用程序启动时,总是有一个ExperimentalWarning,这非常烦人,并且会混淆交互提示。如何禁用此警告/所有警告?
我正在 Windows 10 上使用最新的 node v10 lts 版本对此进行测试。
为了在全局范围内使用 CLI 工具,我已将此添加到我的 package.json 文件中:
{
//...
"preferGlobal": true,
"bin": { "myapp" : "./index.js" }
//...
}
并运行npm link 链接./index.js 脚本。然后我可以简单地使用myapp 在全球范围内运行该应用程序。
经过一些研究,我注意到通常有两种方法可以禁用警告:
- 设置环境变量
NODE_NO_WARNINGS=1 - 用
node --no-warnings ./index.js调用脚本
虽然我可以使用上述 2 种方法禁用警告,但在直接运行 myapp 命令时似乎无法做到这一点。
我在入口脚本./index.js中放置的shebang是:
#!/usr/bin/env node
// my code...
我还阅读了有关修改 shebang 的其他讨论,但还没有找到一种通用/跨平台的方法来执行此操作 - 将参数传递给节点本身,或者设置 env 变量。
如果我发布这个 npm 包,如果有办法确保提前禁用这个单个包的警告,而不是让每个用户自己调整他们的环境,那就太好了。是否有任何隐藏的 npm package.json 配置允许这样做?
任何帮助将不胜感激!
【问题讨论】: