# Nuxt

## Доработка фронтенда

Чтобы вы увидели вносимые изменения в файлы фронтенд части решения следующей следующей инструкции.

Предполагается, что вы уже подключились по SSH и перешли в папку проекта, например:

```bash
cd /home/bitrix/www/frontend
```

### Запуск в режиме разработки

Остановить текущие процессы PM2:

```bash
pm2 stop all 
```

Запустить dev-режим:

```bash
npm run dev 
```

После этого можно проверять и дорабатывать проект.

### Перевод обратно в боевой режим

Остановить dev-режим (`Ctrl + C` в текущем терминале), затем выполнить:

```bash
npm run build && pm2 start all 
```

### Что обычно делают дополнительно

Если в изменениях были обновлены зависимости:

```bash
npm install 
```

Проверить, что процессы подняты:

```bash
pm2 status 
```

Посмотреть логи при проблемах:

```bash
pm2 logs 
```

## Восстановление после изменения версий зависимостей

Если вы вручную меняли версии пакетов (в `package.json` или командой `npm install <пакет>@<версия>`) и после этого проект перестал собираться или запускаться, проще всего откатить `package.json` и `package-lock.json` к оригинальным версиям из дистрибутива и переустановить зависимости заново.

**1. Остановить процессы**

```bash
pm2 stop all
```

Если запущен dev-режим — остановите его через `Ctrl + C`.

**2. Удалить текущие зависимости и файлы версий**

```bash
rm -rf node_modules package.json package-lock.json
```

**3. Найти оригинальный архив фронтенда**

Архив с оригинальными файлами лежит прямо на сервере:

```
ПУТЬ_К_САЙТУ/bitrix/wizards/astdesign/marketpro/site/public/frontend.zip
```

(вместо `ПУТЬ_К_САЙТУ` подставьте путь к корню вашего сайта на сервере, например `/home/bitrix/www`)

Зайдите на сервер по SFTP (те же данные подключения, что и для SSH), перейдите по указанному пути и скачайте `frontend.zip` к себе на компьютер.

> Не распаковывайте архив прямо на сервере — если распаковка заденет не ту папку, можно сломать ещё что-то в рабочем проекте. Безопаснее скачать архив к себе и работать с ним локально.

**4. Распаковать архив локально**

Распакуйте скачанный `frontend.zip` у себя на компьютере любым архиватором — вам понадобятся только два файла из него: `package.json` и `package-lock.json`.

**5. Загрузить эти два файла обратно на сервер**

Через тот же SFTP-клиент загрузите `package.json` и `package-lock.json` из распакованного архива в папку проекта на сервере (`/home/bitrix/www/frontend`), заменив текущие файлы.

> Важно: загружайте именно эти два файла, а не весь архив целиком — иначе затрёте остальные наработки в коде.

**6. Установить зависимости заново по оригинальным версиям**

```bash
npm install
```

**7. Собрать проект и запустить процессы**

```bash
npm run build && pm2 start all
```

**8. Проверить результат**

```bash
pm2 status
pm2 logs
```

Если после этого сайт снова заработал — значит проблема была именно в изменённых версиях пакетов.

# Перезапустить клиентскую часть

Клиентская часть работает под менеджером процессов PM2. Перезапуск нужен, когда сайт отдаёт ошибку, подвис после обновления или вы правили окружение вручную.

Под пользователем `bitrix`:

```bash
pm2 restart all
```

Под `root` — либо переключитесь на `bitrix`, либо выполните команду от его имени:

```bash
su bitrix
pm2 restart all
```

```bash
sudo -u bitrix env PATH=$PATH pm2 restart all
```

Запускать PM2 от `root` не нужно: процесс, поднятый под другим пользователем, не увидит нужные права на файлы сайта.

После перезапуска проверьте состояние:

```bash
pm2 list
```

Процесс должен быть в статусе `online`. Если он перезапускается по кругу, смотрите причину в логах: `pm2 logs`.

---

**Documents**

- [Установка решения](https://docs.astdesign.ru/s/marketpro/doc/ustanovka-resheniya-Z8Q6r79liU)
- [FAQ перед покупкой](https://docs.astdesign.ru/s/marketpro/doc/faq-pered-pokupkoj-HPgKP7mWDT)
- [Общая настройка](https://docs.astdesign.ru/s/marketpro/doc/obshaya-nastrojka-Io6HZQaGXf)
- [Шаблон](https://docs.astdesign.ru/s/marketpro/doc/shablon-ylLAFZV3o8)
- [Главная страница](https://docs.astdesign.ru/s/marketpro/doc/glavnaya-stranica-7PwYozaVVo)
- [Магазины (склады)](https://docs.astdesign.ru/s/marketpro/doc/magaziny-sklady-7rEEZJrA45)
- [Каталог](https://docs.astdesign.ru/s/marketpro/doc/katalog-FpnYzZr900)
- [Поиск](https://docs.astdesign.ru/s/marketpro/doc/poisk-xsDdFVh5h0)
- [Текстовые страницы](https://docs.astdesign.ru/s/marketpro/doc/tekstovye-stranicy-jVtNXZv3T5)
- [Реклама и маркетинг](https://docs.astdesign.ru/s/marketpro/doc/reklama-i-marketing-iZkaCoxr5b)
- [Региональность](https://docs.astdesign.ru/s/marketpro/doc/regionalnost-bCuM9AOBNO)
- [Корзина](https://docs.astdesign.ru/s/marketpro/doc/korzina-Mh27pZA7v9)
- [Оформление заказа](https://docs.astdesign.ru/s/marketpro/doc/oformlenie-zakaza-VyvQjOQxZo)
- [Авторизация](https://docs.astdesign.ru/s/marketpro/doc/avtorizaciya-5HwEb1oDJG)
- [SEO и аналитика](https://docs.astdesign.ru/s/marketpro/doc/seo-i-analitika-d1Hw6c4YAM)
- [Уведомления](https://docs.astdesign.ru/s/marketpro/doc/uvedomleniya-SKDyjYg14J)
- [Мобильное приложение](https://docs.astdesign.ru/s/marketpro/doc/mobilnoe-prilozhenie-F5E0hT7TnN)
- [Обновление решения](https://docs.astdesign.ru/s/marketpro/doc/obnovlenie-resheniya-RRRgtxV5uH)
- [Для разработчика](https://docs.astdesign.ru/s/marketpro/doc/dlya-razrabotchika-WJePeJCmpy)
- [Интеграции](https://docs.astdesign.ru/s/marketpro/doc/integracii-D3DqjYOZYm)
- [Что делать, если что-то не работает](https://docs.astdesign.ru/s/marketpro/doc/chto-delat-esli-chto-to-ne-rabotaet-Q8L8sTVJF8)