hightlight.js 高亮 return 返回的语句失效问题解决

文章讲述了在React应用中使用highlight.js时,如何解决JavaScript和XML代码未被正确高亮的问题,关键在于注册`xml`语言。首先,需要导入并注册`xml`语言,然后在代码中指定正确的`language`属性。
摘要由CSDN通过智能技术生成

1. 先上结论,要注册xml才能解决

import xml from 'highlight.js/lib/languages/xml';
highlight.registerLanguage('xml', xml);

2. 原始代码,return后面的语句没有高亮

import React, { useState } from 'react';
import highlight from 'highlight.js/lib/core';
import javascript from 'highlight.js/lib/languages/javascript';
import 'highlight.js/styles/atom-one-dark.min.css';

highlight.registerLanguage('javascript', javascript);

export const CodeDrawer = (props: any, ref) => {
  const [content, setContent] = useState('');

  useEffect(()=>{
	setContent(
        highlight.highlight('return <div>111</div>', { language: 'javascript' }).value
      );
  },[])

  return (
  	<pre dangerouslySetInnerHTML={{ __html: content }}></pre>
  );
};

3. 效果图(div没有高亮)

在这里插入图片描述

4. 找了很久原来是xml没有注册,要额外注册xml

import xml from 'highlight.js/lib/languages/xml';
highlight.registerLanguage('xml', xml);

5. 效果图(div有高亮)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vgbire

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值