相关疑难解决方法(0)

如何在通过(全局)shell 脚本启动节点时禁用警告

我正在用 node 构建一个 CLI 工具,并想使用fs.promiseAPI。但是,当应用程序启动时,总​​是有一个ExperimentalWarning,这非常烦人,并且会干扰交互提示。如何禁用此警告/所有警告?

我正在 Windows 10 上使用最新的 node v10 lts 版本对此进行测试。

要全局使用 CLI 工具,我已将其添加到我的package.json文件中:

    { 
      //...
      "preferGlobal": true,
      "bin": { "myapp" : "./index.js" }
      //...
    }
Run Code Online (Sandbox Code Playgroud)

并运行npm link链接./index.js脚本。然后我就可以简单地使用myapp.

经过一些研究,我注意到通常有两种方法可以禁用警告:

  1. 设置环境变量 NODE_NO_WARNINGS=1
  2. 调用脚本 node --no-warnings ./index.js

尽管我能够使用上述 2 种方法禁用警告,但在直接运行myapp命令时似乎无法做到这一点。

我放在入口脚本中的shebang./index.js是:

#!/usr/bin/env node


// my code...
Run Code Online (Sandbox Code Playgroud)

我还阅读了关于修改 shebang 的其他讨论,但还没有找到一种通用/跨平台的方法来做到这一点 - 要么将参数传递给节点本身,要么设置 env 变量。

如果我发布这个 npm 包,如果有办法确保提前禁用这个单个包的警告,而不是让每个用户自己调整他们的环境,那就太好了。是否有任何隐藏的 npmpackage.json配置允许这样做?

任何帮助将不胜感激!

fs node.js npm

8
推荐指数
5
解决办法
1万
查看次数

标签 统计

fs ×1

node.js ×1

npm ×1