Создание нового микросервиса (frontend)

Настройка и сборка проекта

Для настройки и сборки нового микросервиса frontend необходимо выполнить следующие действия:

  1. Глобально установить в операционную систему пакет с помощью команды:

    npm install -g verdaccio

2. Запустить установленный пакет.

<p style="text-align: center;"><img src="../images/Пример запущенного пакета.jpg" alt="img" style="zoom:80%;" /></p>

3. Создать локального пользователя, который будет загружать библиотеки в репозиторий с помощью команды:

`npm adduser --registry http://localhost:4873`

В рамках создания локального пользователя нужно ввести логин, пароль, электронный адрес, после чего авторизоваться.

img

4. Обновить глобальную конфигурацию файла «.npmrc», который обычно располагается в корневой папке пользователя ОС.

С более подробной информацией о расположении данного файла в разных операционных системах можно ознакомиться по ссылке: https://docs.npmjs.com/cli/v9/configuring-npm/npmrc#files.

В рамках обновления конфигурации необходимо открыть файл «.npmrc» и добавить следующие строки:

`always-auth=true`

`@docshouse:registry=http://localhost:4873`

Тем самым указав, что зависимость @docshouse необходимо скачивать не с основного репозитория, а с локального.

5. Опубликовать в локальный репозиторий все библиотеки, кроме «ui-base» и «ui-cli».

  • Для этого необходимо открыть папку, где располагаются все библиотеки.

В качестве примера такая папка здесь и далее по тексту будет называться «public»:

`cd public`
  • Перейти в библиотеку, которую необходимо опубликовать:
`public cd %наименование библиотеки%.`
  • Выполнить команду:
`npm publish --registry http://localhost:4873`

Повторить данные действия для каждой библиотеки.

Чтобы убедиться, что пакет опубликован, можно перейти по адресу http://localhost:4873 в браузере. Адрес будет содержать опубликованный пакет.

Генерация приложения

Для генерации приложения необходимо выполнить следующие действия:

  1. Установить пакет @vue/cli-init глобально с помощью команды:

    npm i -g @vue/cli-init

Прежде чем использовать ui-cli, рекомендуется переключиться на ветку «latest».

2. Запустить команду vue init, передав первым аргументом путь до «dh-ui-cli», а вторым – имя для директории.

Имя директории должно строиться по шаблону «dh-{name}-service-ui», где name – наименование сервиса.

`vue init ./dh-ui-cli dh-{name}-service-ui`

Далее в качестве примера рассматривается установка dh-demo-service-ui.

Cli будет выводить перед каждым шагом информационные подсказки:

- Сообщение, информирующее о необходимости указать имя для сервиса с примером.
- Сообщение, информирующее о необходимости указать путь для роутера с примером.
- Сообщение с предложением указать описание для сервиса. Данный шаг можно пропустить, так как описание сервиса не является обязательным для заполнения.
- Сообщение, информирующее о необходимости указать автора. Cli по умолчанию предлагает автора с git, но значение может быть изменено произвольно.

img

После завершения процесса установки в папке «dh-demo-service-ui» появится новая папка с готовым каркасом frontend приложения.

img

Результатом генерации будет работоспособный шаблон сервиса с подготовленной структурой кода и некоторыми примерами используемых подходов.

3. Открыть папку с приложением с помощью команды:

`cd dh-demo-service-ui`

4. Установить зависимости с помощью команды:

`npm install`

5. Обновить библиотеки @docshouse до последней версии с помощью команды:

`npm i @docshouse/dh-ui-components@latest --save-exact`

`npm i @docshouse/dh-ui-types@latest --save-exact`

Прежде чем запустить локальный сервер для разработки, в готовом шаблоне, в функции src/common/utils.ts setupDevelopmentEnvironment, в динамических импортах для файлов «themes» и «global.scss» необходимо указать актуальный путь до директории «ui-base», после чего сохранить изменения.

img

6. Запустить локальный сервер для разработки с помощью команды:

`npm run serve`

img

Теперь при переходе по адресу http://127.0.0.1:8081 открывается готовый каркас приложения с базовой структурой.

Проверка приложения в рамках базового фронта

Для сборки необходимо выполнить команду:

npm run build

В результате будет создана папка «dist», в которой будет находиться итоговая сборка.

img

Содержимое папки «dist» необходимо поместить в папку «dh-ui-base/public/dh-demo-service-ui».

Из файла «system-setting.json» в папке «public» необходимо скопировать готовые настройки сервиса и вставить их в аналогичный файл, расположенный в сборке «ui-base», в конец массива сервисов, подключаемых к Системе.

img

В настройках сервиса поле href отвечает за путь, с которого «ui-base» будет пытаться загрузить бандл для данного фронта.

В результате базовый фронт загрузит новый сервис.

Для работы с созданным сервисом необходимо создать модели и политики доступа. Модели и политики доступа создаются в сервисе «Права доступа». Работа в данном сервисе описана в документе «Руководство администратора ЛДМ. ПЛАТФОРМА КОНТЕНТ-СЕРВИСОВ».