Highlight.js 语法高亮在 webpack 构建后不起作用
Highlight.js syntax highlighting not working after webpack build
在使用 webpack
之前,此代码在一个函数中运行,并在加载内容后运行:
$('pre code').each(function(i, block) {
console.log("ta da!");
hljs.highlightBlock(block);
});
console.log
消息出现,但没有突出显示。
没有构建或控制台错误。
Highlight.js版本
https://github.com/isagalaev/highlight.js/blob/master/src/highlight.js
Highlight.js 主题:
https://highlightjs.org/static/demo/styles/hybrid.css
Webpack 版本
"webpack": "^4.8.3"
my_entry_file.js
import '../css/hybrid.css';
import hljs from './highlight';
与HTML的比较如下:
原版HTML:
<pre>
<code class="javascript">// here is a comment
在生产站点上(不使用 webpack):
<pre>
<code class="javascript hljs">
<span class="hljs-comment">
// here is a comment
</span>
<span class="hljs-keyword">var</span>.... etc
在开发站点上(使用 webpack):
<pre>
<code class="javascript hljs">// here is a comment
我在发帖时找到了答案,但我认为该解决方案可能对某人有帮助。
生产站点和开发站点之间唯一的异常是,在前者中我使用的是压缩文件:
https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js
而开发站点(使用 webpack)正在使用:
https://github.com/isagalaev/highlight.js/blob/master/src/highlight.js
所以我切换回缩小版,语法高亮显示起作用了。
虽然我不知道为什么会这样。
在使用 webpack
之前,此代码在一个函数中运行,并在加载内容后运行:
$('pre code').each(function(i, block) {
console.log("ta da!");
hljs.highlightBlock(block);
});
console.log
消息出现,但没有突出显示。
没有构建或控制台错误。
Highlight.js版本
https://github.com/isagalaev/highlight.js/blob/master/src/highlight.js
Highlight.js 主题:
https://highlightjs.org/static/demo/styles/hybrid.css
Webpack 版本
"webpack": "^4.8.3"
my_entry_file.js
import '../css/hybrid.css';
import hljs from './highlight';
与HTML的比较如下:
原版HTML:
<pre>
<code class="javascript">// here is a comment
在生产站点上(不使用 webpack):
<pre>
<code class="javascript hljs">
<span class="hljs-comment">
// here is a comment
</span>
<span class="hljs-keyword">var</span>.... etc
在开发站点上(使用 webpack):
<pre>
<code class="javascript hljs">// here is a comment
我在发帖时找到了答案,但我认为该解决方案可能对某人有帮助。
生产站点和开发站点之间唯一的异常是,在前者中我使用的是压缩文件:
https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js
而开发站点(使用 webpack)正在使用:
https://github.com/isagalaev/highlight.js/blob/master/src/highlight.js
所以我切换回缩小版,语法高亮显示起作用了。
虽然我不知道为什么会这样。