如何在asp.netcore-spa应用程序上禁用服务器端呈现?

时间:2016-09-27 07:59:33

标签: asp.net reactjs asp.net-core

我正在使用aspnetcore-spa react-redux样板构建我的应用程序(可以在http://blog.stevensanderson.com/2016/05/02/angular2-react-knockout-apps-on-aspnet-core/上看到)

然而,服务器端渲染需要花费很多时间(约30秒),我想禁用它。你能告诉我如何在不破坏代码的情况下禁用服务器端渲染吗?

2 个答案:

答案 0 :(得分:21)

该模板会将require("leaflet") require("dplyr") leaflet() %>% addTiles() %>% addWMSTiles( "http://geoservices.knmi.nl/cgi-bin/RADNL_OPER_R___25PCPRR_L3.cgi", layers = "RADNL_OPER_R___25PCPRR_L3_KNMI", options = WMSTileOptions(format = "image/png", transparent = TRUE), attribution = "KNMI" ) 代码帮助器添加到asp-prerender-module中的<div id="react-app"...>代码中。如果删除该标记帮助程序,则将禁用服务器端呈现。

标记帮助器导入Home\Index.cshtml

  

/Views/_ViewImports.cshtml

在使用...

运行应用程序之前,您可以从命令行进行捆绑
@addTagHelper "*, Microsoft.AspNetCore.SpaServices"
史蒂夫·桑德森在悉尼NDC会议上发表presentation

aspnet-prerender-module标记帮助器是SpaServices的一部分,它是Yeoman aspnetcore-spa模板生成的所有项目的基础。因此,您可以在以下任何模板中启用/禁用预呈现,包括> webpack --config webpack.config.vendor.js > webpack Angular 2AureliaKnockout。这同样适用于您使用React (with Redux)aspnet-prerendering创建的任何自定义项目或模板以及上述标记帮助程序。

答案 1 :(得分:7)

对于Angular 2项目,我已通过从Index.schtml中的asp-prerender-module标记中删除<app>属性来解决此问题。