使用webcomponent内的prismjs显示带有语法突出显示的代码段

问题描述

我正在尝试使用Prismjs展示语法摘要。

有关该项目的一些信息:

我正在使用lit-element,并且我有一个保存为字符串的代码段,我想在页面上以一些漂亮的语法突出显示该代码段(为此使用pyramidjs)。

这是商店中的代码段外观(只是一个字符串):

snippet value in Store

然后在组件内部,我可以将其呈现为字符串而不会出现问题,但是我似乎无法使语法高亮显示正常工作。

我要导入样式,并且也要在组件顶部导入棱镜js,如下所示: import Prism from 'prismjs';

为了进行测试,我将以两种不同的方式渲染代码段:第一个代码段保存在商店中,第二个代码段使用prism.highlight()函数。

这是它们在前端的外观:

Both ways it gets rendered in the frontend

这就是我在组件中渲染它们的方式:

<pre>
   <code class="stage__code language-css">${this._selectedSnippet.code}</code>
   <code class="stage__code language-css">${this._highlightedCode}</code>
</pre>

this._selectedSnippet.code获得保存在商店中的值。

this._highlightedCode从此获取器获取值:

get _highlightedCode() {
   return Prism.highlight(this._selectedSnippet.code,Prism.languages.css,'css')
}

在第一个上,我在代码块上看到了正确的代码段,但是没有显示棱镜。在第二篇文章中,我看到Prism添加了需要突出显示代码的类,但随后将其呈现为字符串(带有通过棱镜添加的新标记)。

关于如何解决此问题的任何想法?谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)