Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJS:从JSON对象打印彩色文本_Javascript_Node.js_Json_Colors - Fatal编程技术网

Javascript NodeJS:从JSON对象打印彩色文本

Javascript NodeJS:从JSON对象打印彩色文本,javascript,node.js,json,colors,Javascript,Node.js,Json,Colors,我最近做了一个名为ani CLI的CLI项目,im正在进行颜色配置 我想读取包含终端颜色代码的JSON对象,例如 \\033[33m\\x1b[33m(我使用了双反斜杠,因为如果使用单反斜杠,JSON解析器将抛出错误而不进行解析) 我编写了一个简单的代码来读取JSON对象 let colors=fs.readFile(“colors.json”、“utf8”,(err,data)=>{ 如果(错误){ 返回null; }否则{ 让obj=JSON.parse(数据); 设title=obj[“t

我最近做了一个名为ani CLI的CLI项目,im正在进行颜色配置

我想读取包含终端颜色代码的JSON对象,例如
\\033[33m\\x1b[33m
(我使用了双反斜杠,因为如果使用单反斜杠,JSON解析器将抛出错误而不进行解析)

我编写了一个简单的代码来读取JSON对象

let colors=fs.readFile(“colors.json”、“utf8”,(err,data)=>{
如果(错误){
返回null;
}否则{
让obj=JSON.parse(数据);
设title=obj[“title”];
//log(title.toString()+“Hi”);
控制台日志(标题+“HI”);
}
})
当我运行代码时,它不是打印颜色,而是打印文本


由于字符串转义在JSON文件中的工作方式,仅使用JSON文件将非常困难

如果您确实希望将颜色文件分开,我建议您将其放在单独的js文件中:

module.exports = {
  reset: "\x1b[0m",

  title: "\x1b[33m",
  red: "\x1b[31m",
  green: "\x1b[32m",
};
然后,在主js文件中,您可以要求安装模块,甚至摇动模块以获得您想要的:

const { title, reset, red, green } = require("./colors");

console.log(title, "HI!", reset);
console.log("I am of normal color");
console.log(red, "I am red", reset);
console.log(green, "I am green", reset);
这还允许您在需要时使用动态颜色键:

const colors = require("./colors");
const colorsArr = ['red', 'title', 'green'];

for (color of colorsArr) {
    console.log(colors[color], `I am color: ${color}`, colors.reset)
}
始终记住重置颜色!:)


谢谢,它使用单独的javascript文件工作
const { reset } = require("./colors");
console.log(reset);