Malleys,
Он был одно время популярен и в нем была возможность работы с разными типами модулей. Рейтинг 12,4 k GitHub
То, что вы рекомендуете оправдано в разаработке современных разработок откидывая старые версии броузеров
Когда то import небыло, тем более parcel. И сейчас совместимость с браузерами бывает отталкивает.
Ранее использовал нечто подобное
var loader = (function (src, callback) {
var doc = window.document, cache = {};
return function (src, callback) {
if (cache.hasOwnProperty(src)) {
callback && (callback());
} else {
var el = doc.createElement('script'), loaded = 0;
el.src = src, doc.body.appendChild(el), cache[src] = 1;
if (callback) {
el.onload = el.onreadystatechange = function () {
if ((el.readyState && el.readyState !== 'complete' && el.readyState !== 'loaded') || loaded)
return false;
el.onload = el.onreadystatechange = null, loaded = 1, callback();
};
}
}
};
}());
loader('test1.js', me);
function me() {
alert('This callback Me');
}