SITE1/
├── frontend/ ← Готовый сайт (статика, заливается на хостинг)
│ ├── index.html
│ ├── favicon.svg
│ └── assets/
│ ├── index-*.js
│ └── index-*.css
└── backend/ ← API-сервер Node.js
├── server-mock.js
└── package.json
Содержимое папки frontend/ залить на любой хостинг:
- Netlify — перетащить папку на netlify.com/drop
- Vercel —
vercel deploy - Timeweb / Beget / REG.RU — загрузить через FTP в
public_html/ - GitHub Pages — push содержимого в ветку
gh-pages
⚠️ Без бэкенда товары не загрузятся. Нужен VPS или облако для Node.js.
cd backend
npm install
npm start
# Сервер запустится на порту 5001Установить nginx, в конфиге прописать:
server {
listen 80;
server_name yourdomain.com;
root /var/www/sushimate/frontend;
index index.html;
# SPA — все пути отдаём через index.html
location / {
try_files $uri $uri/ /index.html;
}
# Проксируем API на Node.js
location /api/ {
proxy_pass http://localhost:5001;
}
}В frontend/assets/index-*.js API_URL прописан как http://localhost:5001/api.
На реальном домене нужно поменять на https://yourdomain.com/api и пересобрать фронтенд из исходников.
- Залить папку
backend/как отдельный сервис - Залить папку
frontend/на Netlify/Vercel - В переменных окружения Netlify/Vercel задать
VITE_API_URL=https://your-backend.railway.app/api