Как реализовать SSR для компонента vue внутри приложения laravel? - PullRequest
4 голосов
/ 11 марта 2019

Я работаю над проектом Laravel. Есть много vue компонентов, и мне нужно сделать SSR из-за SEO. Я не могу использовать nuxt.js или что-то подобное, потому что мое приложение не SPA. У меня есть настройки по умолчанию:

const mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js')
   .sass('resources/sass/app.sass', 'public/css');
mix.disableSuccessNotifications();

Я помещаю компоненты vue в представления laravel (шаблоны блейдов), например <example-component></example-component>. Как я могу реализовать SSR для этих компонентов только в этом случае?

Мне нужно добавить эти компоненты как html в ответ, а не как <example-component></example-component> из-за SEO.

Ответы [ 2 ]

4 голосов
/ 20 марта 2019

Рендеринг на стороне сервера не является одним вкладышем, но есть пакет для laravel, чтобы сделать это, пожалуйста, проверьте это:

https://github.com/spatie/laravel-server-side-rendering

0 голосов
/ 14 марта 2019

Текущие решения требуют использования Node или, в крайнем случае, PHP в сочетании с движком V8J.

См. https://ssr.vuejs.org/guide/#integrating-with-a-server, чтобы начать. vue-server-renderer основан на реализации Node / express.js, которая отображает ваш HTML заранее.

Я еще не пробовал ни одного решения на основе PHP, и, к сожалению, это лучший ответ, который я могу вам дать на данный момент.

...