Node.js 在npm包中包含调试MSG的正确方法是什么?

Node.js 在npm包中包含调试MSG的正确方法是什么?,node.js,debugging,npm,Node.js,Debugging,Npm,假设我有这样一个节点包:- var debug = require('debug'); debug('starting..'); module.exports = function(){ debug('printing..'); return 'Hello World'; }; 我将调试包作为我的devdependency,并在npm中发布我的包。现在,当有人安装我的软件包时,调试软件包显然不会安装在他们的终端上,因为这是一个依赖项,所以当用户运行我的程序时,它会抛出错误,因为他/她没有安

假设我有这样一个节点包:-

var debug = require('debug');
debug('starting..');
module.exports = function(){
 debug('printing..');
 return 'Hello World';
};
我将调试包作为我的devdependency,并在npm中发布我的包。现在,当有人安装我的软件包时,调试软件包显然不会安装在他们的终端上,因为这是一个依赖项,所以当用户运行我的程序时,它会抛出错误,因为他/她没有安装该软件包

现在,技术上我可以做到:-

var debug = process.env.DEBUG ? require('debug') : '';

这很好,因为用户特别尝试调试程序,抛出他/她的错误不是问题,但我想知道的是你们如何处理这个问题?只需将调试作为应用程序的依赖项?还有其他解决办法吗?任何解决方案都值得赞赏。谢谢。

如果您使用的是调试模块,请将其作为依赖项保留。您可以看到一些主要的库,如Express、Socket.IO都可以这样做。可以看到一个例子:我希望不要把它作为依赖项,因为它对最终用户没有任何作用,除非他们真的想修补它。还有,是的。这就是模块。