Маршрутизация между обычным сервером узла и статическим сервером?

Я создаю веб-сайт, где целевая страница и некоторый другой контент основаны на node, express, angular2 и т. д.

Я хочу иметь субдомен (blog.mydomain.com), на котором работает Hexo.

На моей машине для разработки я запускаю hexo server, чтобы протестировать блог на localhost:4000. Я могу развернуться на героку, запустив hexo generate -deploy. Однако, похоже, нет никаких документов о том, что это на самом деле делает. Итак, у меня есть два вопроса: если бы у меня было приложение node, в одном из подкаталогов которого находился мой текущий проект hexo, как бы я его развернул, как если бы я только что загрузил контент, что вызвало бы запуск hexo?

Во-вторых, как мне перейти из моего основного приложения в блог? Я видел несколько предложений по использованию vhost с экспрессом. Могу ли я запустить два сервера через разные порты, а затем, например, просто направить /blog маршруты на 0.0.0.0:4000?


person George Edwards    schedule 06.08.2016    source источник


Ответы (1)


Похоже, вы слишком все усложняете.

Из вашего вопроса видно, что вы хотите иметь:

  • Динамически созданный веб-сайт Node, работающий по адресу www.mydomain.com.
  • Статический блог (сгенерированный Hexo), работающий по адресу blog.mydomain.com.

В этой ситуации вам нужно будет сделать следующее:

  • Разделяйте код Node.js и проекты блога. Не помещайте их в одну и ту же папку проекта.
  • Имейте свои собственные отдельные сценарии развертывания для Hexo и вашего основного веб-сайта. Похоже, это у вас уже есть.
  • Если вы хотите сделать ссылку со своего основного веб-сайта на свой блог, используйте обычные HTML-ссылки (теги <a>). Нет причин делать что-то необычное.

Если я нахожусь в вашем блоге и нажимаю на изображение или логотип в заголовке, я ожидаю, что вернусь на ваш основной веб-сайт. Для этого просто сделайте основной текст или изображение ссылкой на ваш основной домен <a href="www.mydomain.com>...</a>.

Это сделает вещи простыми, легкими для понимания и обслуживания, а также простыми в развертывании.

person rdegges    schedule 08.08.2016