Порядок загрузки скриптов из-за нефрита

1

Я пытаюсь использовать тему администратора Metronic на своих веб-страницах и хочу конвертировать мои шаблоны в jade/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 включен в мой простой макет.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')

Когда я смотрю в браузере Inspector, правильный html был создан, скрипты находятся в правильном порядке Изображение 174551

Однако, когда я смотрю на свою вкладку в сети, я вижу, что JQueryUI загружен до JQuery:

Изображение 174551

И я получаю сообщение об ошибке в консоли, что я пытаюсь загрузить JQueryUI перед JQuery. И по какой-то причине я получаю ошибку дважды:

Изображение 174551

Кто-нибудь нашел решение этой проблемы?

Теги:
pug
metronic

1 ответ

0

Это работа. Это на самом деле не решение для ошибки: Я использовал атрибут Defer для библиотеки сценариев JQueryUI, как это:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню