Создайте статический сайт один раз и разверните на нескольких хостах - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу создать свою документацию для размещения в нескольких автономных средах, размещенных в док-контейнерах.Для этого необходимы следующие ключевые функции в генераторе статического сайта:

  • Использование всех ресурсов (js / css), размещенных локально со статическими html-файлами.
  • Настройка url и baseUrl ввремя развертывания (когда запускается докер-контейнер).

Эти две конфигурации могут помочь в достижении, создать один раз развертывание в любом месте и в автономной среде.

Два вопроса,

  • Как установить URL во время развертывания?
  • Как настроить все ресурсы для локального размещения?

Ответы [ 2 ]

0 голосов
/ 10 марта 2019

Вы должны написать собственный скрипт, который переписывает siteConfig.js в нем.Последовательность действий на высоком уровне:

  • Запуск сценария, который заменяет URL-адрес в пределах siteConfig.js на хост 1 (replace1.js)
  • Запуск сценария развертывания.
  • Запуск сценария, который заменяет URL-адрес в siteConfig.js на хост 2 (replace2.js)
  • Запуск сценария развертывания.

В package.json добавьте строку в scripts порция:

"scripts": {
  ...
  "deploy-multiple": "./replace1.js && docusaurus-build && ./replace2.js && docusaurus-build",
  ...
}
0 голосов
/ 27 февраля 2019

Вы можете подумать, что вам следует написать url в https://{{ baseUrl }}/a.js и установить baseUrl в опциях компиляции, на самом деле вам это не нужно.

Просто используйте относительный путь, предположите, что у вас есть тег изображения

  • <img src="somephoto.jpg" /> означает, что файл находится в том же каталоге, что и текущая страница
  • <img src="../somephoto.jpg" /> означает, что файл находится в верхнем каталоге на текущей странице
  • <img src="/somephoto.jpg" /> означает, что файл находится в корне веб-сайта
...