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

Я не уверен, что это недавняя вещь, но я обнаружил, что на самом деле не так уж сложно выбирать элементы со страницы и добавлять слушателей. Это на пару символов больше, чем просто использование знака доллара, но я подумал, что это все же довольно приличное решение, а не добавление целой библиотеки.

// selecting single elements
document.querySelector( '#my-element' )
// selecting mulitple elements
document.querySelectorAll( '.my-elements' )
// adding listeners
myElement.addEventListener( 'click', myFunction )

Как только я подумал, что это достаточно хорошее решение, я нашел небольшой хак из сути под названием bling.js. Всего за пару строк он покрывает 80–90% моих вариантов использования. Я сделал небольшую поправку, основываясь на некоторых комментариях в ветке с сутью, так как подумал, что это имеет смысл. Вот что у меня получилось.

// allowing $( '#my-element' )
window.$ = document.querySelector.bind( document )
// allowing $$( '.my-elements' )
window.$$ = document.querySelectorAll.bind( document )
// allowing $( '#my-element' ).on( 'click', myFunction )
Node.prototype.on = window.on = function ( name, fn ) {
  this.addEventListener( name, fn )
}

Да, всего пара строк, и я снова использую jQuery.