как развернуть приложение angular в IIS и что писать в URL (для windows сервера) - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь развернуть приложение angular в wwwroot файле. Я не знаю, что написать в URL ниже, у меня нет псевдонима для записи, я думаю.

  [action type="Rewrite" url="here" /]

1 Ответ

0 голосов
/ 08 апреля 2020

вы можете попробовать выполнить следующие шаги для создания и размещения сайта angular в iis:

сначала убедитесь, что вы установили узел на своем компьютере, выполнив следующую команду:

node --version

установите Angular CLI, используя npm

npm install -g @angular/cli

, запустите команду ниже и введите в папку wwwroot:

cd C:\inetpub\wwwroot

Создайте новый Angular проект

ng new hello-world

Теперь, когда базовое c приложение готово, мы разместим приложение с консоли, используя ng serve….

ng serve

, затем создадим приложение

ng build

enter image description here

enter image description here

После успешного завершения сборки все артефакты сборки публикуются в папке dist.

создать сайт в iis и задать путь к папке с помощью dist dist:

enter image description here

enter image description here

Правило маршрутизации перезаписи URL:

Этот шаг необходим для поддержки глубокой связи. Глубокая связь - это возможность для пользователя перейти непосредственно на страницу, введя маршрут в адресную строку вместо использования Angular маршрутизации. Глубокая связь создает проблему для IIS, поскольку URL-адрес, к которому пользователь пытается получить доступ, неизвестен серверу, и поэтому пользователь получает ответ 404. Решение состоит в том, чтобы сервер всегда возвращал root приложения, даже если пользователь запрашивает путь в приложении.

Теперь мы добавим файл web.config, в котором у нас будет правило перезаписи URL. Все запросы к этому веб-приложению, не относящиеся к файлам или папкам, должны перенаправляться в root приложения. Для веб-приложения или виртуального каталога на веб-сайте по умолчанию в качестве URL-адреса должен быть задан псевдоним (например, / MyApp /). Для веб-сайта на сервере root, URL-адрес должен быть установлен на /.

В нашем случае, поскольку мы используем веб-приложение HelloWorld, мы установим URL / HelloWorld /

<configuration>
<system.webServer>
  <rewrite>
    <rules>
      <rule name="Redirect all requests" stopProcessing="true">
        <match url=".*" />
        <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
        <action type="Rewrite" url="/HelloWorld/" />
        <!--<action type="Rewrite" url="/" />-->
        </rule>
    </rules>
  </rewrite>
</system.webServer>
</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...