我正在Azure Web应用中部署angular 14 with ssr
。我有**two folders in dist browser server
**路径到浏览器文件夹的前端,如何使用服务器文件夹,我现在所做的是使用的web.config文件在浏览器文件夹。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Angular Routes" 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>
<security>
<requestFiltering>
<fileExtensions>
<add fileExtension=".svg" allowed="true" />
<add fileExtension=".woff" allowed="true" />
<add fileExtension=".woff2" allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
<httpProtocol>
<customHeaders>
<!-- <add name="X-Content-Type-Options" value="no-sniff"/>
<add name="X-Frame-Options" value="SAMEORIGIN"/>
<add name="X-Xss-Protection" value="1; mode=block"/>
<add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains"/> -->
</customHeaders>
</httpProtocol>
<httpRedirect enabled="false" destination="" />
</system.webServer>
</configuration>
现在我得到的HTML响应,API调用是200.
我想得到适当的回应,在当地一切都很好
1条答案
按热度按时间2vuwiymt1#
若要使用server文件夹进行服务器端呈现,需要在server文件夹中创建一个web.config文件。web.config文件应该包含服务器端呈现的重写规则。参考如下:-
这个web.config文件将把所有请求路由到服务器文件夹中的**
server.js file
。可以修改add元素的path属性中的文件路径,使其与服务器端呈现文件的名称匹配。此外,请确保已在Azure Web App中安装iisnode module
**。使用ssr创建了一个新的Angular应用:-
创建了示例db.json:-
我的包。json:-
创建了一个服务API:-
API.service.ts
生成的组件列表如下:-
item-list.component.ts
app-routing.module.ts
本地输出:-
部署后:-
请确保您在默认文档中有index.html:-
请确保您已将路径添加到**
site\wwwroot\<your-app-name-from-package.json-file>
**示例Angular SSR应用程序成功运行如下:-
此外,请查看Azure Web应用程序中的“诊断和解决问题”选项卡以了解更多信息。