阳光明媚,在家敲javascript的代码,控制台里清一色的黑底白字,我console.log出来的文字也是黑底白字淹没在茫茫字母海中,所以我想封装一下log方法,能自己定义字体还有背景的颜色,然后就出现了这个报错
Octal escape sequences are not allowed in template strings
javascript模板字符串中不允许使用八进制转义序列?
Octal escape sequences are not allowed in template strings
解决办法
把八进制转义序列放进模板字符的${} 花括号里
不必拘泥于我图中所显示的代码文件夹的结构 👆,
如果你参考了我的博文,可以写成你喜欢的任何样子
实验过程,随意
最后附上封装console.log方法输出自定义的彩色字体代码
log.js
//log.js
let logUtils = {
log:function(content,color){
console.log(color) // 可以注掉 // 查看测试参数
if(color !== undefined){
console.log(`${"\033"}[${bg[color.bg] || 40};${font[color.font] || 37}m ${content}`) // 别注掉
console.log('没重置前') // 可以注掉 //受上一次定义的背景色影响,会带背景色
console.log('\033[40;37m') // 别注掉 // 预计会打一行黑色背景色空行(测试后发现打一行上一次定义的背景色的空行),然后将颜色重置为 黑底白字,
console.log('哈哈哈') // 可以注掉
} else {
console.log(content) // 别注掉
}
}
}
let colors = {
font:{
black:30,
red:31,
green:32,
yellow:33,
blue:34,
purple:35,
darkgreen:36,
white:37
},
bg:{
black:40,
red:41,
green:42,
yellow:43,
blue:44,
purple:45,
darkgreen:46,
white:47
}
}
font = colors.font
bg = colors.bg
module.exports = logUtils
index.js
// index.js
let {log} = require('./log.js')
const greeting = "Hello,world"
log(greeting,{font:"red",bg:"green"}) // 第二个参数对象随便写,错了或者不写,默认字体为白色,背景色为黑色
console.log(greeting)
测试
node index.js
数据对象中的数据来源:
https://www.jianshu.com/p/cca3e72c3ba7
重构一下,添加一些预先设置的风格配色
又加了几种配色
花花绿绿,我太开心了ㄟ( ▔, ▔ )ㄏ 哈哈哈哈哈