Ответы пользователя по тегу Nuxt.js
  • Готов ли Nuxt 3 для разработки на настоящий момент?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    Тут нужна преамбула:

    Stable он стал исключительно потому, что это событие надо было приурочить к конференции "Nuxt Nation" (в общем-то, с этого коммита они начали конференцию), потому что, во-первых, это красиво и всего раз в году, а во-вторых, это важно с точки зрения маркетинга - Эван Ю, например, получил возможность этим фактом бравировать.

    По факту же, последний Release Candidate в шапке описания содержит сообщение "1 or 2 additional release candidates are expected before the final 3.0.0 version" (причём в моей памяти оно отложилось как "few more release candidates" - может, отредактировано, а может, я неправильно запомнил).
    Как бы то ни было, планировалось 2 релиза до стабильной версии. Но через 2 недели случился Nuxt Nation. Осталось два релиза до стабильной версии :)

    С начала декабря висит черновик MR с релизом 3.1.0, в котором было написано, что он будет готов в декабре. Сейчас там написано, что он будет готов в январе (в подтверждение того, что описания таки редактируются).
    Это всё к тому, что релизный цикл ненадёжный и скорее ситуативный. Вот ишью, в котором вопрос поднимается. С учётом того, что и публичную бету отложили на полгода, и стабильный релиз на тот же срок (и ещё больше), а также потому, что на момент релиза было 400 ишью, сейчас - почти 600, я укрепляюсь во мнении, что они замахнулись на слишком многое сразу, имея команду в 3 человека. Причём приоритетность задач... Ну, я особо не сталкерил за контрибьюторами, но осталось ощущение, что в первую очередь делается то, что интересно, а не то, что у людей больше всего болит.
    И тем не менее, они фанаты и многое успевают :)

    ---

    К сути вопроса - если вы делаете что-то с нуля, то можно попробовать. Даже нужно, ибо год спустя большая часть проблем решится, а цикл разработки он примерно такой и есть. Главное - помечать костыли и подпорки :)

    У меня в продакшене проектов на Nuxt 3 нет, но есть пара в активной разработке.
    Вы помучаетесь с настройкой прокси для запросов (потому что встроенной функциональности ждём уже почти год) (но там можно подпереть и заработает). Там будут ещё проблемы, особенно под Windows и если вам нужны свои модули, но это запомнилось больше всего. Но ничего нерешаемого пока нет.

    Если же вы хотите мигрировать существующий проект...
    По моим ощущениям, у Nuxt 3 большие проблемы с определением места, где что-то пошло не так.
    Вам, скорее всего, придётся мигрировать довольно маленькими кусочками и проверять, не сломалось ли чего, потому что если сломалось где-то в большом куске кода, вы почти наверняка получите ошибку в духе "500. Что-то не работает, а где - не покажу".
    Короче, это будет "написание с нуля, копируя кусочки из предыдущего релиза на Nuxt 2".

    Ну и плюс - экосистема. У меня почти всё своё, так что это не было сильно больно, но если активно пользуетесь сторонними модулями - смотрите поддержку и дату последнего обновления.

    В целом, после перехода удобство разработки значительно повысилось, во многом из-за TS без костылей (ну, почти, я очень надеюсь что в обозримом будущем вот это закроется. Хотя Эван обещал это релизить в ноябре... Все факапят сроки :) ).
    Сборка побыстрее примерно вдвое, hot reload весьма значительно быстрее (почти мгновенно до сих пор, хотя видна тенденция к замедлению. В любом случае 20-30x прирост по сравнение с Nuxt 2).
    Клиентский перфоманс, кстати, опираясь на попугаи PageSpeed, возрастает примерно так, что там, где на Nuxt 2 было 60, тут станет 80. Я не копал пока глубоко в клиентскую оптимизацию на Nuxt 3, наверняка там можно что-то выдумать, но по первым впечатлениям вот так - побыстрее, но чуда не случилось, фреймворк всё ещё имеет существенный оверхэд по сравнению с чем-то более нативным.
    Ответ написан
    1 комментарий
  • Почему swiper не работает в nuxt js?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    Нужно добавить swiper и пару его зависимостей (dom7 и ssr-window) в секцию build.transpile, либо использовать сильно предыдущую версию Swiper'a (вроде шестая ещё не была esm).
    Ответ написан
    Комментировать
  • В чем отличие navigateTo() от router.push()?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    Сомневаетесь - смотрите исходники.

    Вкратце - это обёртка над router.push/replace(), изначально созданная исключительно в качестве сахара (да, чтобы не писать useRouter()), потом её научили выполнять редирект на стороне сервера, а потом научили справляться с внешними урлами.

    все используют router.push

    Это появилось только в Nuxt 3, который всё ещё не то чтобы production-ready, поэтому не успело примелькаться.

    Всегда используйте navigateTo. :)
    Ответ написан
    1 комментарий
  • Nuxt.js 3, как запустить с pinia?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    Установить `@pinia/nuxt` недостаточно, нужно установить и саму `pinia`.

    npm install pinia
    Ответ написан
  • Кто-то уже окунался в разработку с Nuxt 3?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    Вы соберёте все проблемы и завалите все дедлайны. :)

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

    Причём после релиза было ощущение что "сейчас всё быстренько допилят" (потому что и без того релиз на полгода откладывали), но динамика показывает, что ближайшие полгода - вряд ли, а то и год.

    Да и вообще есть ощущение, что они слишком фанатично пытаются всё упростить и обвешать магией, ушли куда-то не туда.
    Всякий сахарок - это прикольно, но должно быть опционально и навешиваться поверх уже готовой, работающей системы, а там половина issue - это борьба с теми проблемами, которые они сами себе придумали в погоне за "хотим, чтобы тут одну строчку написать - и дальше оно всё само".
    Но альтернатив не видно, поэтому пока Nuxt 2, возможно Nuxt Bridge, но и то смотреть надо.

    Другой вопрос - а зачем вам SSR для CRM? Для морды можно и пререндер сделать, а всё что за авторизацией - кому вообще интересно, есть там серверный рендеринг или нет?
    Ответ написан
    4 комментария
  • Можно ли выставить действие на ошибку в @nuxtjs/router?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    Сделайте страницу _.vue, она будет использоваться для всех адресов, если нет более специфичного правила.
    В asyncData этой страницы делайте запрос к API и в зависимости от ответа вызывайте либо ctx.redirect, либо ctx.error.
    Ответ написан
    Комментировать