Викия

ru-Викия

коммент.0

Уменьшенный CSS и JS для ускорения работы вики

Kuzura августа 23, 2012 Блог участника:Kuzura

Одной из важных особенностей Викия является то, что вики-сообщества могут создавать свои собственные JavaScript (JS) и CSS скрипты, которые добавляют вики функциональности или настраивают внешний вид вики. Многие викии создали действительно интересные и уникальные коды и с радостью делятся ими с другими проектами.

Однако JS и CSS файлы имеют один существенный недостаток - когда пользователь открывает страницу вики, он задействует все эти скрипты, создавая дополнительные запросы на пути к серверам Викия и обратно. Выполнение подобных запросов может существенно замедлить работу вики, особенно, если на вики очень много сторонних скриптов (на одной вики мы видели сразу 31 файл с JS).

Чтобы исправить эту проблему, команда инженеров Викия создала код, который должен помочь ускорить обработку JS и CSS скриптов на вики. Новая функция задействует общий JS Викия и вызывается кодом "importArticles ()", который работает аналогично известному коду "@import". Его преимуществом является то, что при запросе он "удаляет" все комментарии и пробелы из JS и CSS, которые делают эти страницы читаемыми, и в таком виде подаёт их пользователю. Таким образом пользователь получает уменьшенный скрипт, скачивает файл меньшего объёма, а значит время на обмен данными с сервером также уменьшается и страницы с JS и CSS загружаются быстрее.

Использование

Чтобы использовать новую функцию на своей вики, вы должны задать описание того скрипта, который собираетесь импортировать: "script" для JS или "style" для CSS.

Если вы хотите импортировать два JS файла: одни локальный и один из другой вики, то ваш код будет выглядеть, примерно, так:

importArticles({
    type: "script",
    articles: [
        "MediaWiki:MyCustomJavaScript.js",
        "w:elderscrolls:MediaWiki:External_include.js"
    ]
});

Аналогично для CSS файлов:

importArticles({
    type: "style",
    articles: [
        "MediaWiki:Common.css",
        "w:starwars:MediaWiki:External_include.css"
    ]
});

Если нужно импортировать только один файл, то код можно немного сократить:

importArticle({
    type: "style",
    article: "MediaWiki:Common.css"
});

Если у вас возникли вопросы, оставьте их в комментариях ниже или свяжитесь с инженерами Викия через страницу Служебная:Contact.

Обращаем ваше внимание, что новая функция работает только на MediaWiki 1.19

Викия-сеть

Случайная вики