IIS легко использовать с Node, Express и Vue. Да, вы не ослышались.

У вас есть веб-сайты, на которые вы хотели бы добавить полный или частичный интерфейс VueJS, но вам нужно взаимодействовать с API .NET? У вас есть сервер Express, который вы хотели бы легко интегрировать с существующим сайтом .NET? Или вы просто хотите использовать отличный и мощный веб-сервер Windows для размещения всей вашей разработки Node? Я так и думал. Вот как вы можете иметь все это.

Это также работает со многими другими вариантами серверных технологий. Он также будет работать с React или Angular и любым http-сервером.

Сначала установите маршрутизацию запросов приложений (в настоящее время версия 3) в IIS. Вы можете сделать это через установщик веб-платформы или просто перейти на домашнюю страницу ARR и нажать кнопку установки.

Затем установите URLRewrite (текущая версия 2.1) в IIS. Опять же, это можно сделать через установщик веб-платформы или с домашней страницы инструмента здесь.

Настройка маршрутизации запросов приложений

Обычно вам не нужно перезагружать сервер после этих установок, но вам нужно будет закрыть и снова открыть диспетчер IIS (если он у вас запущен), чтобы апплеты отображались в списке. После повторного открытия диспетчера IIS найдите «Кэш маршрутизации запросов приложений» на верхнем уровне сервера:

Вам нужно сделать только одну вещь с этим предметом. Дважды щелкните значок, чтобы открыть его, затем на правой панели под прокси выберите Настройки прокси-сервера…

Это откроет новую панель. Просто установите флажок Включить прокси-сервер справа вверху, затем нажмите «Применить» в разделе «Действия» справа. Вот и все, больше ничего не трогай.

Вернитесь на верхний уровень, и оттуда мы теперь можем использовать URLRewrite, чтобы связать любой из наших веб-сайтов, размещенных на IIS, с любой доступной веб-службой, работающей в любом месте в Интернете.

Используйте Express для обслуживания веб-сайта, размещенного на IIS

Это самый простой случай: если у вас запущен веб-сервер Express, скажем, на порту 8080 на локальном хосте, вы можете связать его с веб-сайтом IIS, используя URLRewrite, как это. В диспетчере IIS:

  1. Создать веб-сайт
  2. Открыть URLRewrite для этого веб-сайта
  3. Нажмите Добавить правило(я)…
  4. Выберите пустое правило
  5. Дайте правилу имя
  6. В разделе Соответствие URL установите в раскрывающемся списке использование значение Подстановочные знаки.
  7. Поставьте звездочку в Pattern (чтобы соответствовать всем входящим запросам)
  8. Внизу установите действие на Перезаписать и установите URL-адрес перезаписи на http://localhost:8080/{R:1}.

Нравится:

Параметр {R:1} передает URL-адрес на ваш сервер Express.

Теперь имейте в виду, что вы можете указать поле Rewrite URL где угодно. Таким образом, ваш сервер Node (или любой другой сервер в этом отношении) даже не обязательно должен находиться на той же машине.

Разместите экспресс-сайт в подпапке на веб-сайте IIS.

Возможно, вы уже знаете, как это сделать, но чтобы было понятно, вы можете очень просто добавить эту функциональность в подпапку основного сайта, просто изменив поле Pattern, например:

Теперь у вас может быть веб-сайт IIS Asp.NET, работающий в любой другой части веб-сайта, но когда ваши пользователи попадают в этот каталог, он будет запускать ваш сервер Node Express (или, опять же, любой другой тип веб-сервера, который вы хотите). Это означает, что вы можете использовать, например, API Asp.NET.

Разместите свой сервер разработки VueJS в IIS

Итак, теперь вы, вероятно, тоже можете догадаться, как это работает. Просто загрузите сервер разработки VueJS и скопируйте его URL-адрес в поле URL-адреса перезаписи на панели URLRewrite:

В приведенном выше случае поле Rewrite URL будет выглядеть так:

Теперь вы получите возможности горячей перезагрузки сервера разработки VueJS, даже если вы запускаете его под IIS, что значительно ускоряет время разработки.

Я думаю, я должен указать, что вы будете использовать эту конкретную конфигурацию только при разработке: для производства вы просто скопируете свои файлы на сервер и разместите его, используя URLRewrite аналогичным образом, но указывая все запросы на файл index.html файла Приложение VueJS и добавление условий для исключения существующих файлов, чтобы загружались связанные файлы .js и .css:

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