Проблема с переносом проекта laravel+vueJS на хостинг
Прошу помощи, перепробовал всё, что нашёл в интернете, но видимо где-то допускаю ошибку. Первый раз заливаю на хостинг VueJS'ный сайт. Laravel 9 + VueJS (используется vite). На домашнем пк всё отлично, переношу на хостинг - с частью на laravel всё отлично (немного .htaccess пришлось поправить и asset), а вот с VueJS беда.
Сначала опишу основные моменты кода.
В blade.php используется @vite(['resources/css/app.css', 'resources/js/app.js'])
В .env APP_URL=https://сайт.ru
В vite.config.js
import laravel from 'laravel-vite-plugin';
import path from 'path'
import vue from "@vitejs/plugin-vue";
export default defineConfig({
plugins: [
vue(),
laravel([
'resources/css/app.css',
'resources/js/app.js',
]),
],
resolve: {
alias: {
'~bootstrap': path.resolve(__dirname, 'node_modules/bootstrap'),
}
},
В packaje.json
"private": true,
"scripts": {
"dev": "vite --host",
"build": "vite build"
},
"devDependencies": {
"@popperjs/core": "^2.10.2",
"axios": "^1.3.4",
"bootstrap": "^5.2.1",
"laravel-vite-plugin": "^0.7.4",
"lodash": "^4.17.19",
"postcss": "^8.1.14",
"sass": "^1.32.11",
"vite": "^4.0.0"
},
"dependencies": {
"@vitejs/plugin-basic-ssl": "^1.0.1",
"@vitejs/plugin-vue": "^4.0.0",
"vue": "^3.2.36",
"vue-loader": "^17.0.1",
"vue-router": "^4.1.6"
}
}
В .htaccess
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+) $1 [L]
RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -f
RewriteRule ^(.+) /public/$1 [L]
Options +SymLinksIfOwnerMatch
RewriteRule ^(.*)$ /public/ [QSA,L]
Запускаю npm run dev,
➜ Local: http://localhost:5173/
➜ Network: http://88.212.236.252:5173/
*и ещё 8 ip-шек с этим портом*
LARAVEL v9.48.0 plugin v0.7.4
➜ APP_URL: https://сайт.ru/
Захожу на сайт, получаю 3 подобных ошибки:
Mixed Content: The page at 'https://сайт.ru/posts/1' was loaded over HTTPS,
but requested an insecure script 'http://[::]:5173/resources/js/app.js'.
This request has been blocked; the content must be served over HTTPS.
Проблемы с файлами :5173/@vite/client , :5173/resources/css/app.css, :5173/resources/js/app.js.
Добавляю в vite.config.js это
host: '127.0.0.1',
},
Никаких изменений
Меняю в vite.config.js это
server: {
https: true,
hmr : {
host: 'сайт.ru'
},
},
Получаю спустя 50 секунд 3 ошибки тех же файлов, но уже с RR_CONNECTION_TIMED_OUT. Добавляю port: 3000 (а также всевозможные 3001, 5147) Пробую поменять host на адрес хостинга- 83.219.286.277 - также ERR_CONNECTION_TIMED_OUT.
Меняю на
server: {
hmr: {
host: 'localhost',
},
},
Получаю
client.ts:48 [vite] failed to connect to websocket.
your current setup:
(browser) localhost:5173/ <--[HTTP]--> localhost:5173/ (server)
(browser) localhost:5173/ <--[WebSocket (failing)]--> localhost:5173/ (server)
Check out your Vite / network configuration and https://vitejs.dev/config/server-options.html#server-hmr .
Если вручную меняю в public/hot после этого порт на :443 , то GET ``` http://localhost:443/resources/css/app.css net::ERR_CONNECTION_REFUSED (npm run build запускал..)
Если вручную меняю в public/hot на https://сайт.ru:443 , то
``` GET https://сайт.ru/@vite/client net::ERR_ABORTED 404
2:1 Uncaught TypeError: Failed to resolve module specifier "vue". Relative references must start with either "/", "./", or "../".