gpt4 book ai didi

node.js - 通过(全局)shell脚本启动 Node 时如何禁用警告

转载 作者:行者123 更新时间:2023-12-04 03:36:23 28 4
gpt4 key购买 nike

我正在使用 Node 构建 CLI 工具,并希望使用 fs.promise API。然而,当应用程序启动时,总​​是有一个 ExperimentalWarning , super 烦人,而且会打乱交互提示。如何禁用此警告/所有警告?

我正在使用 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是:
    #!/usr/bin/env node


    // my code...

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

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

    任何帮助将不胜感激!

    最佳答案

    我像这样配置了我的测试脚本:

     "scripts": {
    "test": "tsc && cross-env NODE_OPTIONS=--experimental-vm-modules NODE_NO_WARNINGS=1 jest"
    },
    注意 NODE_NO_WARNINGS=1部分。它禁用了我从设置 NODE_OPTIONS=--experimental-vm-modules 中得到的警告。

    关于node.js - 通过(全局)shell脚本启动 Node 时如何禁用警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55778283/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com