首页 > 解决方案 > 是否可以在 Node.js 中为错误输出设置颜色/格式?

问题描述

默认情况下,Node 中的错误输出是一堵巨大的灰色墙。

例如

ReferenceError: a is not defined
    at exports.register (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/user/controller.js:2:31)
    at Layer.handle [as handle_request] (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/layer.js:95:5)
    at next (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/layer.js:95:5)
    at /Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/index.js:335:12)
    at next (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/index.js:275:10)
    at Function.handle (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/index.js:174:3)
    at router (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/index.js:47:12)
    at Layer.handle [as handle_request] (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/index.js:317:13)
    at /Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/index.js:335:12)
    at next (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/index.js:275:10)
    at Function.handle (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/index.js:174:3)
  1. 是否可以为错误类型、位置和位置设置不同的颜色?方法可能类似于控制台中的颜色输出,其中一个执行类似的操作
PS1="\[${folderStyle}\W\]" # working directory base name
PS1+="${reset}"
PS1+="\n"; # newline
PS1+="\[${userStyle}\]\u"; # username
PS1+="\[${light_blue}\] at ";
PS1+="\[${hostStyle}\]\h"; # host
PS1+="${reset}"
PS1+="\[${light_blue}\] in";
PS1+=" ${c}\w";            #working directory
PS1+="\$(prompt_git \"\[${light_blue}\] on \[${c}\](\[${green}\]\" \"\[${green}\]\")\[${c}\])"; # git repository details
PS1+="\n";
PS1+="${reset}"
  1. 其他解决方案可能是终端(或超级)的代码解析器,因此它将输出视为 shell 脚本。

例如,这是一个被视为 shell 脚本的输出:

ReferenceError: a is not defined
    at exports.register (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/user/controller.js:2:31)
    at Layer.handle [as handle_request] (/Users/boleeluchshiy/Documents/Ryukzak/node/ryu-node/_workbook/passport auth2/node_modules/express/lib/router/layer.js:95:5)

...

标签: javascriptnode.js

解决方案


推荐阅读