Комментарии 23
Скорость деплоя это конечно хорошо, а как на счёт скорости работы? Есть сравнение производительности итогового продукта?
Вы пишете внутренние сервисы на Nuxt?
С SSR?
Nuxt, в отличии от Next, умеет работать в SPA режиме
Nuxt вроде как не обязательно SSR, это по сути связка вью + сервер, на котором можно прокси роутинг написать
Да, внутренние сервисы мы пишем на Nuxt
В нашем случае в SSR нет необходимости, поэтому мы пишем сервисы в SPA режиме
Что вас привлекло в нем?
Относительно Vue
Vue - основной фреймворк в Ozon для написания интерфейсов. Почему выбрали именно его, я достоверно ответить не могу (это было ещё до моего прихода в Ozon). Cмею предположить, что он больше подходил под необходимые задачи, вот его и выбрали
Я не точно спросил - имелось ввиду Nuxt
Почему он в данном случае? Чем лучше простого Vue?
У нас все проекты сделаны именно на Nuxt. На вопрос почему, я так же не дам достоверного ответа, потому что как я уже писал, это решалось до моего прихода в Ozon. Думаю, так сделано, потому что хоть в основном мы и пишем в режим SPA, но если понадобится SSR режим, то нужно будет сделать незначительные изменения в конфигах и всё будет готово. При этом вся обвязка, остальные настройки, конфиги и модули уже будут настроены. Некое универсальное решение.
Ну и плюс удобства в виде автоматического роутинга с помощью папки pages, автоматического подключения плагинов и пр. в Nuxt, тоже не стоит забывать.
Спасибо за статью! Сам проходил подобный путь и ничуть не жалею, что ещё полтора года назад полностью перешёл на третью версию.
Ожидал увидеть как вы решили проблему параллельной разработки во время переписывания под vue@3. Вы просто остановили добавление новых фич и доработки и просто переписывали?
И еще интересно, у вас не было проблем с юнит тестами?
Все верно. Перед миграцией мы обговаривали с командой этот момент, что масштабные доработки будет делать проблематично. В итоге решили, что крупные и даже средние по объему доработки мы откладываем до момента, пока все не перепишем. Небольшие доработки мы выполняли параллельно с процессом миграции и сразу же вносили их в обновленный код.
Что касается unit-тестов, то не припомню ничего экстраординарного. Поэтому вряд ли были какие-то проблемы
А чего сложного вводить новый функционал и переводить на vue 3? У нас намного глобальнее crm и она была написана на vue 2. И мы просто постепенно все переводили на 3 версию.
В этом, действительно, проблемы нет. Но мы, предварительно обсудив, решили выполнить эту задачу с максимальным приоритетом, не отвлекаясь на другие, чтобы сделать её максимально быстро и при этом минимизировать возможные проблемы, которые теоретически могли бы возникнуть при параллельной разработке.
А так, по данному вопросу нет единого правильного ответа: каждый делает настолько, насколько позволяют ресурсы. И если у вас всё удалось – вы молодцы!
Сколько времени в итоге занял переход?)
Сейчас занимаюсь тем же, но мы решили не использовать axios, вместо него fetch. А т.к. для нас SEO имеет значение, все это еще и на SSR, со всеми своими нюансами. Хочется спросить, сколько времени у вас занял перевод всего проекта на Nuxt3?
Очень интересная и увлекательная статья🔥
Пробовали ли вы у себя nuxt 3 layers?
Если нет, то очень удобная фича в nuxt 3, которая позволяет разбивать большой проект на несколько слоев и потом подключать их одном билде или же каждый слой собирать по отдельности
Например:
base layer
catalog layer (extend base)
cart layer (extend base)
checkout layer (extend base)
profile layer (extend base)
app (extend catalog, cart, checkout, profile)
каждый слой можно тянуть отдельного из git репозитория
Vue 3 в деле: Как мы обновили большой внутренний сервис и что из этого вышло