Загрузка js в расширении MediaWiki не работает

Я собираюсь создать расширение для MediaWiki, в котором я хочу предоставить специальную страницу, которая показывает форму. Для этой формы я хочу использовать Bootstrap, включая jquery и popper.js. Поэтому мне нужно включить файлы js в расширение.

Обычно файлы стилей и скриптов включены в extension.json как это:

"ResourceModules": {
"ext.meForm.custom": {
  "position": "top",
  "scripts": [
    "jquery-3.3.1.slim.min.js",
    "popper.min.js",
    "bootstrap.min.js",
    "ext.meForm.custom.js"
  ],
  "styles": [
    "bootstrap.min.css",
    "icons.css",
    "ext.meForm.custom.css"
  ]
}

},

И тогда их нужно загрузить на специальную страницу execution метод как это:

$output->addModuleScripts('ext.meForm.custom');
$output->addModuleStyles('ext.meForm.custom');

Когда я включаю только файлы стилей (просто удалите scripts свойство), то стили применяются, как и ожидалось. Но когда я добавляю scriptсвойство, не только сценарии не применяются, но и стили больше не применяются. Похоже, что я делаю что-то не так в определении модуля, но я понятия не имею, что.

У кого-нибудь есть какие-нибудь подсказки или идеи?

Привет, Якоб

Редактировать: я забыл упомянуть, что кажется, что это не имеет ничего общего с js-файлами jquery, popper или bootstrap, потому что он ведет себя так же, когда я включаю только ext.meForm.custom.js, который на самом деле просто пустой файл JS.

Единственный вывод консоли я получаю SyntaxError: expected expression, got '<' от load.php в строке 1.

Я использую Mediawiki версии 1.30.1.

Изменить: это работает сейчас. Похоже, проблема была в другом расширении, в котором произошла ошибка при загрузке. Я действительно не знаю, как это заставило бы мое расширение не загружать модули должным образом, но это сделало.

2 ответа

Решение

Это работает сейчас!

Похоже, проблема была в другом расширении, в котором произошла ошибка при загрузке. Я действительно не знаю, как это заставило бы мое расширение не загружать модули должным образом, но это сделало.

addModuleScripts не очень полезно (также не рекомендуется). Пытаться $output->addModule('ext.meForm.custom');,

Другие вопросы по тегам