LARAVEL错误hljs未在app_debug = false中定义

时间:2017-01-25 09:59:25

标签: javascript laravel debugging referenceerror

当我禁用调试栏(barryvdh / laravel-debugbar),或者我将APP_DEBUG=false放入.env而不是APP_DEBUG=true时,我的图片库(baguetteBox)脚本出错。< / p>

错误:

  

未捕获的ReferenceError:未在window.onload

中定义hljs

如果我没有禁用app_debug或debugbar,我不会错误,这没关系.. 如果我点击我的网站图片时出现此错误,则会出现错误并在页面上打开图片(在网址:http://127.0.0.1/website/images/image.png中),但如果启用了app_debug或者调试栏,则图片会在baguetteBox的“模态”中打开(正常)。

我的错误的屏幕截图: Uncaught ReferenceError: hljs is not defined at window.onload

2 个答案:

答案 0 :(得分:0)

当DebugBar打开时,DebugBar加载库并定义hljs。当DebugBar关闭时,hljs未定义,因此脚本在hljs.initHighlighting();之后中断。试试这个:

    if ( typeof oldIE === 'undefined' && Object.keys && typeof hljs !== 'undefined') {
        hljs.initHighlighting();
   }

答案 1 :(得分:0)

您可以那样使用。

const hljs = require('highlight.js');

document.addEventListener('DOMContentLoaded', (event) => {
    document.querySelectorAll('pre code').forEach((block) => {
      hljs.highlightBlock(block);
    });
});