【问题标题】:Why is debug used as dependency and not devDependency?为什么 debug 被用作依赖而不是 devDependency?
【发布时间】:2019-12-10 16:02:59
【问题描述】:

我看到很多节点模块/框架(expresssockets.iobody-parser)使用 debug 作为依赖项而不是 devDependency,而显然 debug 是用于调试节点应用程序的模块开发(除非有人想在生产环境中调试¯_(ツ)_/¯)。

这样做有什么特别的原因吗?

【问题讨论】:

  • 任何需要/导入到您的代码中的包都需要是一个依赖项,这是因为“调试”作为依赖项安装这一事实需要该段代码。

标签: node.js npm node-modules


【解决方案1】:

我们无法猜测为什么开发人员会特别选择这个选项,但是在你提到的包中,debug 模块更多地被用作一个花哨的console.log,而不是一个调试工具。

它用于在应用程序运行时记录一些信息。前任。在 express:

debug('booting in %s mode', env);

调试应用程序与开发应用程序不同。所有这些包都经过了广泛的测试,devDependency 代表开发程序时的工具,而不是当您为您的用例调试它时。前任。在socket.io中,如果你在开发环境中,你可以要求完整的日志:

DEBUG=socket.io* node myapp

因此,将其添加为 dependency 而不是 devDependency 是有意义的。

【讨论】:

    猜你喜欢
    • 2022-12-16
    • 2019-11-04
    • 1970-01-01
    • 2021-02-24
    • 1970-01-01
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    相关资源
    最近更新 更多