角度延迟加载深度链接iis

时间:2018-06-14 19:40:18

标签: angular iis lazy-loading deep-linking url-rewrite-module

我在IIS上运行Angular 5应用程序(使用CLI创建)。我也懒得加载我的许多模块。如果你使用一个深度的网址,一切都运行良好,但如果你超过一个级别,没有任何东西加载。

所以如果我键入xyz.com/abc - abc模块加载并且一切正常 如果我键入xyz.com/abc/efg - 那么我得到的只是基本index.html,没有任何加载路由信息。

在开发和在IIS上运行时都会发生这种情况。在查看浏览器控制台时,我发现加载捆绑包和块时遇到了问题。所以对于IIS我添加了一些额外的规则,但它永远不会走我的路线。

寻找下一步尝试的想法。

    <rules>
        <rule name="API Rule" enabled="true" stopProcessing="true">
            <match url="^(api)(.*)$" />
            <action type="None" />            
        </rule>
        <rule name="Bundle Rule" enabled="true" stopProcessing="true">
            <match url="([^\/]+.bundle.*$)" />
            <action type="Rewrite" url="/{R:0}" />            
        </rule>
        <rule name="Assets Rule" enabled="true" stopProcessing="true">
            <match url="(?=.*\b\/assets\/\b)(.*$)" />
            <action type="Rewrite" url="/assets/{R:1}" />            
        </rule>
        <rule name="Chunk Rule" enabled="true" stopProcessing="true">
            <match url="([^\/]+.chunk.*$)" />
            <action type="Rewrite" url="/{R:0}" />            
        </rule>
        <rule name="AngularRoutesRewrite" enabled="true" 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="/index.html" />            
        </rule>
    </rules>
</rewrite>

0 个答案:

没有答案