И почему я создал формы apicase и vuelidate

Внимание: в этом сообщении слишком много слов, и вы можете с ними не согласиться. Если есть что сказать, оставляйте, пожалуйста, комментарии.

Прежде чем я начну

Я большой поклонник Vue.js за его декларативность. Вот почему я не люблю React или Angular, которые заставляют писать намного больше кода, чем необходимо.

Но есть еще две большие проблемы, которые при отсутствии хорошей организации кода (или работы в команде без общего согласия) могут сделать ваш веб-интерфейс действительно уродливым и жирным. Это проблемы

  1. Заявление и проверка форм
  2. Объявление и обработка API

Почему я думаю, что это проблематично

Потому что вам нужно объявить форму, правила проверки, отправить метод с большим количеством проверок + обработать результаты вызовов API, показать предварительный загрузчик во время отправки формы, выделить недопустимые входные данные…. ОСТАНАВЛИВАТЬСЯ! Я действительно устал от этой рутины и хочу представить способ минимизировать шаблонный код.

Заявление и проверка форм

Так. Уже существует множество способов упростить обработку форм. Самые известные из них

  1. Vee-validate. Но я не рекомендую это из-за идеи. Я думаю, что проверка формы не должна зависеть от шаблона
  2. Vuelidate. Это действительно хорошая вещь, и мне это нравится. Используйте vuelidate и будьте счастливы: *

Но у vuelidate есть одна проблема. Вы должны объявить правила формы и проверки отдельно, и похоже, что вы напишете почти один и тот же код дважды.

И я сделал плагин vuelidate-forms, который позволяет вам использовать одну схему для объявления данных и проверок. Простой пример

И два маленьких метода

Думаю, это нормально. Больше здесь ничего придумать нельзя (Если только не дойти до безумия и не создать чего-то непонятного)

Объявление и обработка API

Существует множество библиотек, подобных axios, для выполнения запросов, но знаете ли вы какую-нибудь известную библиотеку для объявления служб и управления ими? Я не знал. Но я это написал. Рад представить Apicase.

Я создал пример использования своей библиотеки. Он большой, но здесь я постарался показать почти все его возможности

И, конечно же, я создал миксин для Vue.js, который позволяет вам делать что-то вроде:

И последний штрих

Я создал плагин vuelidate-apicase-connect, который обладает универсальными функциями! И еще два :)

Здесь нет объявлений data и methods, но все работает, и выглядит потрясающе!

Библиотеки, которые я создаю / использую

  • Apicase - библиотека, которую я сделал для создания красивых API-сервисов.
  • Vue-Apicase - порт Apicase на Vue.js
  • Vuelidate - действительно лучшая библиотека проверки форм для Vue.js
  • Vuelidate-forms - используйте одну схему для объявления данных и валидаций.
  • Vuelidate-Apicase-connect - универсальная библиотека

Наконец-то

Я действительно рад сделать интерфейс немного лучше. И буду благодарен за вопросы и звезды.

Следите за мной на github, чтобы видеть обновления: нажмите

Мой твиттер с мемами и анонсами: кликнуть