npm--debug模块

资料原文

原文

作者笔记


概述

dubug模块暴露一个函数,返回一个修饰过的console.error函数:

修饰:

  • 加前缀(传入的字符串参数,用于区分不同的debug实例)
  • 给前缀加颜色

通过不同debug实例的前缀和颜色区分, 能方便的实现模块之间及模块各部分之间的debug的切换.


用法简介(debug使用+DEBUG环境变量启用)

  • 使用方法:

    • 在代码中引入debug模块(构造函数)
    • 用debug模块构造debug实例(传入区分字符串)
    • 用在适当位置调用合适的debug实例进行输出
    • 通过环境变量DEBUG来控制debug实例的允许输出列表(启用列表)
  • 代码举例: (basic.js)

    var debug = require('debug')('http'); //引入debug模块并创建debug实例
    var http = require('http'); //引入http模块用于构造http服务器
    var name = 'My App';
    
    debug('booting %o', name); //调用debug输出(printf风格输出--详见util.inspect及console模块)
    http.createServer(function(req, res){
          //创建服务器
    	debug(req.method + ' ' + req.url); //收到请求时打印http方法及url
    	res.end('hello\n');
    }).listen(3000, function(){
         
    	debug('listening'); //开启服务器监听时打印listening
    });
    

    运行服务器命令行代码:

    • linux端: DEBUG=http node basic.js

    • windows端: set DEBUG=http & node basic.js

    控制台效果:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


DEBUG环境变量与debug实例的启用列表

​ 要想debug实例在控制台打印出输出, 仅仅在相应位置调用还不够, 还需要启用对应name的debug实例才可以.启用debug实例有两种方法:

  • 启动app的命令里通过设置DEBUG环境变量实现
  • 代码内动态设置debug的启用

本段说明如何通过DEBUG环境变量设置启用列表:

​ 根据DEBUG环境变量的值来启用对应name的debug输出,这样对应的debug才能将信息打印到控制台. 所以,要打印name为test的debug,需要满足两个条件:

1.引入debug模块,传name参数构建debug实例并在对应位置调用
2.该name值被包含在启动时的DEBUG环境参数值中

DEBUG环境变量的设置语法总结

  • 设置惯例

    • 如果在多个库之间使用debug模块, 为方便阅读使用,debug的name应该使用库名
    • 如果你同一个库里同时使用多个debugger,应该使用 库名:功能名 的格式来进行区分
  • 语法说明

    • DEBUG设置的各个项用空格或者逗号之一进行分隔

      set DEBUG=http,net,util & node basic.js
      set DEBUG=http net util & node basic.js
      
    • *号与带-号的项表示name集合,不带的表示单个name

      set DEBUG=http:* & node basic.js #启用所有name以'http:'开头的debug实例
      set DEBUG=-http,net & node basic.j #不启用所有以'http'开头的debug实例,启用name为net的debug实例
      
    • *号与-号的使用:

      • *号: 通配符,表示后面的字符串可以是任何内容
      • -号: 取补集
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值