dmtrbskkv
@dmtrbskkv
Кодим и декодим, а иногда кино смотрим

Как заставить работать prerender-spa-plugin с Laravel?

На данный момент есть такой код в webpack.mix.js:
spoiler

const mix = require('laravel-mix');

const path = require('path')
const PrerenderSPAPlugin = require('prerender-spa-plugin')

/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel application. By default, we are compiling the Sass
 | file for the application as well as bundling up all the JS files.
 |
 */

mix.js('resources/js/app.js', 'public/js')
    .sass('resources/sass/app.scss', 'public/css')
    .sourceMaps();

if (mix.inProduction()) {
    mix.version();
}

mix.webpackConfig = {
    plugins: [
        new PrerenderSPAPlugin({
            // Required - The path to the webpack-outputted app to prerender.
            staticDir: path.join(__dirname, 'dist'),
            // Required - Routes to render.
            routes: ['/', '/portfolio'],
        })
    ]
}


После запуска npm run prod никаких ошибок нет, но и сами файлы html не создаются. Так же пробовал структуру ниже, но ничего не поменялось
mix.webpackConfig = {
resolve:{
    plugins: [
        new PrerenderSPAPlugin({


Поэтому собственно вопрос: как заставить работать пререндеринг Vue с Laravel? Необходимо мне это лишь для корректного отображения meta тегов и по возможности микроразметки.

У меня крайне слабые знания в пререндеринге и серверном рендеринге, поэтому не кидайтесь сильно тряпками.
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ответы на вопрос 1
Fragster
@Fragster
помогло? отметь решением!
Если laravel используется только как API, а само приложение - SPA, то логичнее разелить на два приложения - одно laravel (или даже lumen) с API, а другое - vue (vue-cli, nuxt и вот это всё). Ибо mix, конечно, хорошая штука, но некоторые настройки делаются не очевидно + в vue-cli и nuxt преднастроено много чего.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы