На какое количество компонентов разбивать приложение на vue?
Собственно сам вопрос - нужно ли выносить все что только можно в компоненты? К примеру, компонент формы авторизации, в ней есть input'ы и кнопка, нужно ли эти инпуты и кнопку делать компонентами? И как понять что именно должно быть компонентом, а что может остаться частью кода родительского компонента?
Если какой-то элемент нужно использовать больше одного раза — делайте отдельным компонентом
Если ваш родительский компонент очень большой — разбейте его на несколько компонентов поменьше, чисто для удобства
Если вы предполагаете, что какая-то часть вашей программы будет часто изменяться — выносите в отдельный модуль.
Если у вам большой кусок статического контента — выносите в отдельный компонент
Если какой-то элемент имеет в себе очень сложную или затратную по времени логику — выносите в отдельный компонент.
Вообще, я стараюсь делать много мелких компонентов. Мне так тупо удобнее. Но главное без фанатизма. Вам не нужен отдельный компонент на каждый инпут, разве что у этого инпута должна быть какая-то инкапсулированная логика или оформление.
Компонент это одна сущность. Есть сущность форма входа - это компонент.
Каждый input стоит загонять в отдельный компонент только в случае:
Этот input должен по особенному стилизоваться, к примеру у него есть иконка профиля справа и этот input может использоваться в нескольких местах (вход, регистрация, восстановление пароля)
Этот input имеет нестандартную логику, к пример свою валидацию