Загрузка js в расширении MediaWiki не работает - PullRequest
0 голосов
/ 07 декабря 2018

Я собираюсь создать расширение для 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, не только скрипты не применяются, но и стили больше не применяются.Похоже, я что-то не так делаю в определении модуля, но я понятия не имею, что.

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

Привет, Якоб

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Теперь работает!

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

0 голосов
/ 08 декабря 2018

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

...