Я создаю веб-сайт, на котором отображаются рыночные данные для более чем 500 предметов в видеоигре. В приложении Vue переход на страницу рынка произошел практически мгновенно и работал отлично. В конце концов я решил перевести проект на использование Nuxt, потому что говорят, что он быстрее и значительно меняет качество жизни. После этого загрузка страницы рынка занимала 300 мс при каждом переключении на нее и казалась медленной. Я зашел в nuxt.config.ts и добавил ssr:false. В тот момент, когда я это сделал, страница вернулась к загрузке примерно через 100 мс.
Еще одна проблема заключалась в том, что анимация, которая скользит вниз по раскрывающемуся меню при его открытии, стала тормозить в тот момент, когда я переключился на Nuxt, хотя это тот же код.
Почему SSR намного медленнее, чем CSR? Я новичок в Nuxt, так что, может быть, я что-то делаю неправильно? Я подумываю отказаться от Nuxt и вернуться к простому Vue, потому что Vue кажется гораздо более чистым и простым в отладке, и в нем гораздо меньше глупых проблем, возникающих из ниоткуда.
@Flame вполне может, если с ним не обращаться должным образом. Это не волшебный соус, чтобы просто включить SSR в приложение Vue, могут возникнуть более мелкие преимущества.





Нет конкретной причины использовать Nuxt для повышения производительности. Nuxt следует использовать, когда вам нужен SSR, например, для SEO, ускорения начальной загрузки, возможностей сервера или чего-то еще.
Nuxt поставляется с настройками по умолчанию, такими как предварительная загрузка, разделение кода на страницу и т. д. Но он также вводит новую вещь: необходимость, чтобы ваш код работал как на стороне клиента, так и на стороне сервера. В большинстве случаев некоторый код Vue несовместим напрямую с серверной частью. Например, некоторые несоответствия гидратации могут вызвать множество проблем. И это не единственное, что может привести к замедлению работы, если не учитывать сдвиг контекста клиент + сервер. Какое-то полноценное приложение, содержащее только динамические части игры, в целом может оказаться не столь полезным для подхода SSR.
Учитывая, что у нас нет конкретных тестов для конкретной части приложения, трудно точно определить, что не так. Nuxt должен быть быстрее, но в большинстве случаев вы можете все сделать самостоятельно.
TLDR: Nuxt в большинстве случаев ускоряет работу. В некоторых случаях это не имеет смысла.
Итак, поскольку большая часть моего приложения представляет собой динамические части, отображающие элементы, которые я получаю с сервера, для меня было бы разумнее просто придерживаться Vue?
@ Shiro2008 в качестве общего ответа: да, в целом у вас может не быть особых преимуществ от перехода на Nuxt. Особенно, если у вас нет такого опыта работы с этим, потому что это может привести к некоторой абстракции или зависимости, на которые вам не нужно полагаться. В некоторых случаях это может быть полезно, но опять же, вы также можете делать все, что касается Nuxt, самостоятельно. Nuxt в основном предназначен для ускорения некоторых (сложных) задач в некоторых конкретных ситуациях. Для полного ответа потребуется полное погружение в ваше приложение.
По такому расплывчатому описанию сложно определить вашу проблему. В общем, страница SSR не должна быть медленнее, чем ее аналог CSR.