Разбирать чужой код - важнейший навык программиста! Сначала, критерием служит работающий код, а уж навык определять его как хороший или с "душком" придет с опытом.
А вам куда больше надо в верстку или в программинг?
Gulp хорошо подходит при верстке - это таскраннер.
Webpack - подходит для создания бандлов из скриптов и ресурсов(css, картинки, шрифты) - это бандлер.
Можно, конечно их скрещивать, но это камасутра уже.
Сделать нативный инпут невидимым, а вместо него написать свой компонент, удовлетворяющий всем пожеланиям и потребностям. Или найти уже готовый из библиотек UI
Вам совершенно точно нужен сервер. Вы подключаетесь к БД, а значит без сервера все реквизиты подключения будут на стороне клиента! Т.е. любой юзер, сможет подключиться к вашей БД и творить там безобразие.
А если есть сервер, то клиент шлет запрос на него, сервер подключается к БД, используя при этом приватные переменные(адрес, логин, пароль), обрабатывает полученные данные и шлет ответ пользователю. Уже не говоря про верификацию данных на стороне сервера и сохранение сессии.
Представьте, что вместо консольлога вы передаете функцию fn
Теперь, смотрите: 1 .then(fn()) 2 .then(()=>{fn()})
Понятна ошибка? В первом случае нужно было передать указатель на функцию, а мы её сразу вызвали fn(), правильнее было так: .then(fn)
То же самое происходит и с консольлогом.