【问题标题】:How to deploy Angular 9 SSR application to IIS如何将 Angular 9 SSR 应用程序部署到 IIS
【发布时间】:2020-06-08 16:12:22
【问题描述】:

我已将 Angular 7 项目升级到 Angular 9。我运行了以下命令 “ng add @nguniversal/express-engine”、“npm run build: ssr”和“npm run serve: ssr”。它在我当地的环境中运行良好。在网络服务器上创建并部署到 IIS 的“dist”文件夹。

现在,IIS 网站指向“dist”文件夹,该文件夹包含“browser”、“server”文件夹和 web.config 文件。找到下面的 web.config 文件,它指向“server/main.js”文件。当我执行我的应用程序时,它会抛出 HTTP 500 错误。

请帮助我如何将此“dist”文件夹部署到网络服务器上的 IIS。

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>


【问题讨论】:

  • 你没有任何日志吗?

标签: angular server-side-rendering angular-universal angular9


【解决方案1】:

使用以下命令构建应用程序。 build:client-and-server-bundles

【讨论】:

    猜你喜欢
    • 2020-09-02
    • 2020-09-11
    • 2019-12-04
    • 2020-11-29
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    相关资源
    最近更新 更多