Node.js 调试
Posted 前端开发资讯集
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js 调试相关的知识,希望对你有一定的参考价值。
不管在开发中还是部署后,适当的日志记录对于web应用来说非常有用。困难的是如何组织日志代码和输出日志,简单来说:知道每个日志的来源。我最近找到一种实用的组织和优化Node.js调试的方法。
创建一个 debug
实例很简单,并且可以为每个文件创建多个 logger
:
|
// Create multiple instances of debug(创建多个debug实例) // In theory these would serve two different purposes(理论上这两个debug实例分别负责不同的日志输出) var debuggerA = require('debug')('worker:a'), debuggerB = require('debug')('worker:b'); // Sample usages of the debugger(演示调试器的用法) function work() { debuggerA('doing lots of uninteresting work'); setTimeout(work, Math.random() * 1000); } work(); function workb() { debuggerB('doing some work'); setTimeout(workb, Math.random() * 2000); } workb();
|
你必须定义环境变量,用于给调试器实例分配命名空间。当脚本运行时,日志应该输出到 STDOUT
:
|
// Show all debugger messages prefixed "worker:_____"(所有debugger的前缀都为 "worker:_____") DEBUG=worker:* node app.js
|
当使用环境变量的方式,当你只想在开发或生产环境记录某种类型的消息,输出的日志会很清晰。命名空间的使用多么明智!
我还可能使用 chalk
为消息加上我想要的颜色:
|
var chalk = require('chalk'); debuggerA(chalk.red.bold('OMG an awful error!'));
|
调试具有非常简单的目的,为了帮助我们更好的完成任务。当涉及到记录信息消息时不要吝啬,它会在开发过程中帮助你,并且在安全事件发生后更好的审视自身!
以上是关于Node.js 调试的主要内容,如果未能解决你的问题,请参考以下文章
如何用最好的工具来调试node.js
用 chrome 调试 node.js 代码
node.js调试入门
Visual Studio Code - 调试 Node.js 代码
Node.js热部署代码,实现修改代码后自动重启服务方便实时调试
澄清 node.js + promises 片段