需求: 实现前端展示后端带颜色的日志
通过loki获取项目产生的日志,并且在前端显示出来,一开始在没有经过处理的数据会显示一些乱码,并没有将字符转换

经过一番查询后,发现可以使用ansi_up来对日志进行操作颜色代码进行转化。
实现
使用ansi_up 实现
安装
            
            
              javascript
              
              
            
          
          npm install ansi_up
        引入
            
            
              javascript
              
              
            
          
          import { AnsiUp} from 'ansi_up';
        js使用
            
            
              javascript
              
              
            
          
          try {
    
        let res: any = await gameServerLog(params)
        console.log(res);
        if (res.code == 0) {
         var ansi_up = new AnsiUp()//声明
         textarea2.value = ansi_up.ansi_to_html(res.data)  //使用
        }
    } catch (error) {
        console.log(error);
    }
        html渲染
需要使用v-html
            
            
              javascript
              
              
            
          
           <div v-html="textarea2" style="white-space:normal"></div>
        可能遇到的问题 br标签不换行
如若遇到br标签不换行,请参考如下,没有请忽略
            
            
              javascript
              
              
            
          
          const logData = ref('') //替换br
//监听替换br
watchEffect(() => {
    logData.value = textarea2.value.replace(/<br\/>/g, ' </br>');
})
        html渲染也需更改
            
            
              javascript
              
              
            
          
          <div v-html="logData" style="white-space:normal"></div>
        实现后效果
