Angular Universal - развертывание Azure - PullRequest
0 голосов
/ 24 апреля 2019

Я создал приложение Angular 7 и мне нужно было улучшить SEO, добавив в него рендеринг на стороне сервера.Поэтому я выполнил все шаги, необходимые для этого, и все отлично работает на моей локальной машине.Сейчас я пытаюсь внедрить это изменение в производство.Поэтому я запускаю эту команду:

npm run build: ssr && npm run serve: ssr

Терминал показал мне сообщение:

Сервер Node Express прослушивает http://localhost:4000

Мой веб-сайт работает отлично.Теперь я перехожу к моей папке dist, которая выглядит следующим образом:

dist folder structure Я создал новую папку на своем компьютере (папка SSR) и вставил в нее папку dist.После этого у меня есть / projects / SSR / dist

. Я открыл папку SSR в коде Visual Studio и добавил файл web.config в корневую папку.

web.configbody

<?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation batch="false" />
  </system.web>
  <system.webServer>
    <handlers>
      <add name="iisnode" path="server.js" verb="*" modules="iisnode" />
    </handlers>
    <rewrite>
      <rules>
        <rule name="myapp">
          <match url="/*" />
          <action type="Rewrite" url="server.js" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

Я скопировал файл package.json из своего основного углового проекта и вставил его в папку SSR.Затем с помощью команды 'npm install' внутри терминала установили необходимые пакеты.

Где-то я обнаружил, что мои файлы server.js / prerender.js также должны быть в корневой папке, поэтому я скопировал / вставил их из distпапка.Вот так выглядит моя папка SSR:

ssr folder structure Затем я использовал расширение «Служба приложений Azure» для кода VS, выбрал только что созданное веб-приложение Azure и нажал «Развернуть вВеб-приложение ».После успешного развертывания моего приложения я нажимаю «Обзор» и получаю сообщение об ошибке:

Страница не может быть отображена, поскольку произошла внутренняя ошибка сервера.

I 'проверил логи и не понимаю, что я сделал не так:

ср 24 апреля 2019 19:33:41 GMT + 0000 (Всемирное координированное время): приложение выдало необработанное исключение и завершено:

SyntaxError:

at Module._compile (module.js:434:25)

at Object..js (module.js:464:10)

at Module.load (module.js:353:31)

at Function._load (module.js:311:12)

at Module.require (module.js:359:17)

at require (module.js:375:17)

at Object.<anonymous> (D:\Program Files (x86)\iisnode\interceptor.js:459:1)

at Module._compile (module.js:446:26)

at Object..js (module.js:464:10)

at Module.load (module.js:353:31)

Приложение выдало необработанное исключение и завершено:

SyntaxError:

at Module._compile (module.js:434:25)

at Object..js (module.js:464:10)

at Module.load (module.js:353:31)

at Function._load (module.js:311:12)

at Module.require (module.js:359:17)

at require (module.js:375:17)

at Object.<anonymous> (D:\Program Files (x86)\iisnode\interceptor.js:459:1)

at Module._compile (module.js:446:26)

at Object..js (module.js:464:10)

at Module.load (module.js:353:31)

Программное обеспечение: Microsoft Internet Information Services8,0

...