Как обернуть сценарий полифилла как модуль AMD и условно загрузить его с помощью Modernizr и RequireJS?
(Понял это, пока я составлял свой вопрос - публиковал ответ для всех, кто пытался сделать то же самое.)
Как обернуть сценарий полифилла как модуль AMD и условно загрузить его с помощью Modernizr и RequireJS?
(Понял это, пока я составлял свой вопрос - публиковал ответ для всех, кто пытался сделать то же самое.)
Мне нужно было загрузить полифил jquery-placeholder для браузеров, которые не поддерживают заполнители ввода. Он не обеспечивает поддержку AMD из коробки.
Сначала я обернул его как модуль AMD следующим образом:
define(['jquery'], function ($) {
(function(window, document, $) {
... polyfill ...
}(this, document, jQuery));
});
Затем в main.js
я использовал Modernizr для условного require()
сценария полифилла:
require(['jquery', 'modernizr'], function ($, Modernizr) {
if (!Modernizr.input.placeholder) {
require(['jquery', 'placeholder'], function ($) {
$('#input').placeholder();
});
}
});