我已经将我的Angular 7项目升级到了Angular 9,我运行了以下命令 "ng add @nguniversalexpress-engine","npm run build: ssr "和 "npm run serve: ssr"。我运行了以下命令 "ng add @nguniversalexpress-engine","npm run build: ssr "和 "npm run serve: ssr"。它在我的本地环境中工作得很好。创建了 "dist "文件夹,并将其部署到Web服务器上的IIS中。
现在,IIS网站指向 "dist "文件夹,这个文件夹包含 "浏览器"、"服务器 "文件夹和web.config文件。找到下面的web.config文件,它指向 "servermain.js "文件。当我执行我的应用程序时,它正在抛出HTTP 500错误。
请帮助我如何将这个 "dist "文件夹部署到IIS的webserver上。
web.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.webServer>
<webSocket enabled="false" />
<handlers>
<add name="iisnode" path="server/main.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^server.js\/debug[\/]?" />
</rule>
<rule name="StaticContent">
<action type="Rewrite" url="public{REQUEST_URI}" />
</rule>
<rule name="DynamicContent" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="server/main.js/{R:0}" />
</rule>
</rules>
</rewrite>
<security>
<requestFiltering>
<hiddenSegments>
<remove segment="bin" />
</hiddenSegments>
</requestFiltering>
</security>
<httpErrors existingResponse="PassThrough" />
<iisnode nodeProcessCommandLine="C:\Program Files\nodejs\node.exe"
watchedFiles="web.config;*.js"
node_env="%node_env%"
loggingEnabled="true"
logDirectory="iisnode"
debuggingEnabled="true"
maxLogFileSizeInKB="1048"
maxLogFiles="50"
devErrorsEnabled="true" />
</system.webServer>
</configuration>
使用下面的命令来构建应用程序。build:client-and-server-bundles