Vue+PHP+render, возможно ли?

207
08 сентября 2021, 07:20

Всех приветствую!

Есть сайт, написанный на PHP. У него есть страница каталога, где настроено все SEO. Ради ускорения появилась идея написать рендер страницы на Vue, но при этом оставить и серверную часть.


Появились вопросы:
1) Можно использовать vue cli с однофайловыми компонентами, генерируя index.php страницу вместо index.html.
2) Будет ли скрипт vue выполняться на готовом html коде, который отдаст php файл? я понимаю, что в теории нет, но нужно мнение знающих людей
3) Есть ли способ еще лучше это все организовать?

Answer 1

Сам спросил, сам и отвечу:

1) Не желательно! НО можно просто генерировать через webpack готовый bundle. Настройки webpack'а:

{
    "name": <your-project-name>,
    "scripts": {
        "watch": "webpack -w",
        "build": "webpack"
    },
    "devDependencies": {
        "vue-loader": "^15.7.1",
        "vue-template-compiler": "^2.6.10",
        "webpack": "^4.41.1",
        "webpack-cli": "^3.3.9"
    },
    "dependencies": {
        "vue": "^2.6.10"
    }
}

2) Теория подтвердилась, при загрузке страницы vue инициализирует рендеринг по виртуальному дому. При рендеринге, умная система понимает, что дом не изменен, и вставлять (обновлять) ничего не надо. След если у нас есть готовый html с сервера, то vue инициализируется без обновления реального DOM дерева

3) Тут уже дело каждого, под какие задачи он использует vue

READ ALSO
Docker MySQL не работает

Docker MySQL не работает

Только начала пользоваться DockerНе могу понять почему не работает MySQL

283
Как подключиться к БД удаленно?

Как подключиться к БД удаленно?

У клиента есть сайт который размещен на платном хостингеКак мне подключиться к БД сайта удаленно через OS Panel? Есть все доступы к БД и к личному...

138
MySQL как начать вывод строк после определенного ID?

MySQL как начать вывод строк после определенного ID?

Есть сайт вопросов и ответов, в нём, в конце списка вопросов, повесил кнопку "Показать еще" (вопросы)Эта кнопка передает ajax запросом в php скрипт,...

228