【问题标题】:Jade bug loading order of scripts is messed up脚本的 Jade bug 加载顺序搞砸了
【发布时间】:2018-04-09 08:22:18
【问题描述】:

我正在尝试在我的网页上使用 Metronic 管理主题,并希望将我的模板转换为 jam/pug。不幸的是,我遇到了一个我无法很好地解决的错误。每当 Metronic 加载页面时,它首先加载核心脚本,然后根据页面上的其他内容加载页面特定的插件和脚本。为了模仿这个功能,我创建了一个 footer.pug 文件,其中包含核心插件和页面特定插件和脚本的

    // BEGIN CORE PLUGINS
script(src='../assets/global/plugins/jquery.min.js', type='text/javascript')
script(src='../assets/global/plugins/bootstrap/js/bootstrap.min.js', type='text/javascript')
script(src='../assets/global/plugins/js.cookie.min.js', type='text/javascript')
script(src='../assets/global/plugins/jquery-slimscroll/jquery.slimscroll.min.js', type='text/javascript')
script(src='../assets/global/plugins/jquery.blockui.min.js', type='text/javascript')
script(src='../assets/global/plugins/bootstrap-switch/js/bootstrap-switch.min.js', type='text/javascript')
// END CORE PLUGINS

// BEGIN PAGE LEVEL PLUGINS
block page_level_plugins
// END PAGE LEVEL PLUGINS

// BEGIN THEME GLOBAL SCRIPTS
script(src='../assets/global/scripts/app.min.js', type='text/javascript')
// END THEME GLOBAL SCRIPTS

// BEGIN PAGE LEVEL SCRIPTS
block page_level_scripts
// END PAGE LEVEL SCRIPTS

// BEGIN THEME LAYOUT SCRIPTS
script(src='../assets/layouts/layout/scripts/layout.min.js', type='text/javascript')
script(src='../assets/layouts/global/scripts/quick-sidebar.min.js', type='text/javascript')
script(src='../assets/layouts/global/scripts/quick-nav.min.js', type='text/javascript')
// END THEME LAYOUT SCRIPTS

这个 footer.pug 文件包含在我的简单 layout.pug 中:

doctype html
html
  head
    if title
      title= title
    else
      title Template page
    include head
  body.page-header-fixed.page-sidebar-closed-hide-logo.page-content-white.page-md
    .page-wrapper
      include header
      .page-container
        .page-content-wrapper
          .page-content
            block content
  include footer

当我编写我的实际网页时,我扩展了 layout.pug 并在末尾添加了一个名为 page_level_plugins

的块
extends partials/layout
block content
  if title
    h1= title
  ...

  block page_level_plugins
    script(src='../assets/global/plugins/jquery-ui/jquery-ui.min.js', type='text/javascript')

当我在浏览器检查器中查看时,已创建正确的 html,脚本的顺序正确

但是,当我查看我的网络选项卡时,我可以看到 JQueryUI 在 JQuery 之前已经下载:

我在控制台中收到一个错误,我试图在 JQuery 之前加载 JQueryUI。由于某种原因,我两次收到错误:

有没有人找到解决这个问题的方法?

【问题讨论】:

    标签: javascript jquery-ui pug metronic


    【解决方案1】:

    这是一种解决方法。这并不是真正的错误解决方案:我使用了 JQueryUI 脚本库的 defer 属性,如下所示:

     block page_level_plugins
        script(defer src='../assets/global/plugins/jquery-ui/jquery-ui.min.js', type='text/javascript')
    

    【讨论】:

      猜你喜欢
      • 2021-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-23
      • 2013-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多