Переключатели функций - это мощная утилита в современном мире, особенно для команд, которые ежедневно развертывают множество функций. А когда вы соедините это с мощным фреймворком, таким как Nuxt.js, вы действительно разовьете возможности для быстрого перемещения и сохранения высокого уровня качества кода.

Так что же такое переключение функций? 🤔

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

Они очень полезны при внедрении новых функций или внесении значительных изменений в существующий набор пользователей в производственном приложении или наборе приложений.

Например, предположим, что вы выпускаете новую функцию, и неожиданно эта функция начинает ломать страницу для определенных пользователей. Что вы делаете? Вы можете быстро создать исправление или исправление и запустить его в производство, но это приведет к снижению качества кода и возможности введения комментария // TODO, поэтому исправление позже будет удалено, а затем добавлено лучшее решение. Для этого также потребуется новое развертывание, которое может занять некоторое время в зависимости от сложности вашей инфраструктуры.

С переключателем функций все, что вам нужно сделать, это обновить файл JSON, который использует ваше приложение, чтобы определить, какие функции отображать. После обновления файла вуаля! вопрос решен.

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

Так почему же Nuxt.js?

Nuxt.js - это фреймворк, построенный на основе Vuejs и ряда плагинов Vuejs. Платформа предоставляет разработчикам мощную, но простую архитектуру для создания масштабируемых приложений с рендерингом на стороне сервера или в виде одностраничного приложения, которое можно экспортировать как статический веб-сайт.

Подробнее о том, что такое Nuxt.js, можно найти здесь https://nuxtjs.org/.

Я работаю с Nuxt какое-то время и впечатлен простотой и удовольствием от использования фреймворка. Довольно просто использовать расширенные концепции, которые являются обычным явлением в современном интерфейсном сообществе, такие концепции, как динамический импорт или рендеринг на стороне сервера, - это мечта Nuxt, поскольку они не требуют необходимости что-либо настраивать, они работают прямо из коробки. .

Поэтому я хотел обеспечить такую ​​же простоту переключателей функций для разработчиков, которые работают с Nuxt.

Итак, я создал модуль Nuxt под названием `nuxt-feature-toggle`.



Что такое переключатель функции Nuxt?

Этот пакет представляет собой простой модуль, который вы можете легко установить в свое приложение Nuxt, вы можете очень легко определить свои функции, используя объект, определенный в основном файле Nuxt.config.js, или вы можете получить внешний источник и вернуть обещание.

В вашем компоненте у вас будет доступ к специальному компоненту под названием ‹FeatureToggle /›. По сути, это просто оператор if, но он будет учитывать значение, которое вы установили для функции, чтобы она была либо видимой, либо скрытой. Кроме того, если вы выполняли рендеринг страницы на стороне сервера, а переключатель был отключен, в вашем исходном коде не отображался бы HTML.

<feature-toggle name="my-unique-key" :value="true">
  <p>This can only show if the toggle is enabled</p>
</feature-toggle>

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

Строка запроса также может быть ограничена определенными пользователями с использованием некоторой логики из хранилища VueX или контекста вашего приложения, все это определяется в дополнительном плагине, который вы можете легко реализовать в своем приложении.

Более подробную информацию о расширении модуля можно найти здесь «https://www.npmjs.com/package/nuxt-feature-toggle#allowing-acces сиськи.

В заключение.

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

Ознакомьтесь с пакетом NPM и дайте мне знать, что вы думаете :) Я всегда открыт для улучшений и помогу сделать чью-то рабочую жизнь немного более приятной

Также подписывайтесь на меня в Твиттере по адресу



Спасибо.