Angular 5 + AspNetCore + SpaServices + cshtml可以这样做吗?

这是一个两部分问题...

1)关于Angular Universal和Server Side Rendering的Angular 5/6功能。

2)关于Microsoft.AspNetCore.SpaServices及其对cshtml页面的支持/向Angular注入预渲染的剃须刀视图。

使用Angular Universal或Angular Universal进行服务器端渲染调用cshtml页面?

目标

  • 将Angular和Asp.Net Core合并到一个项目中(不仅用于API,也用于服务器端HTML呈现)

  • 不要使用现有的Microsoft.AspNetCore.SpaTemplates Angular Starter模板,因为它增加了一些我不需要的额外复杂度。

  • 利用Asp.Net Core Razor的强大功能进行局部视图渲染和操作,然后将渲染的HTML发送回Angular客户端

  • Angular Client应该能够从服务器注入呈现的HTML,然后继续DOM操作,绑定等。

  • 我的进步

    我已经成功创建了一个基本的Asp.Net Core项目,然后手动集成了Angular。

    步骤是:

  • 创建Asp.Net核心项目,然后使用angular-cli在同一目录下创建一个新项目“ ng New MyAngularApp --minimal

  • 将生成的MyAngularApp中的“src”文件夹中的所有文件手动复制到Asp.Net Core新文件夹“ClientApp”

  • 然后将json配置文件(angular-cli,package&tsconfig)复制到你的Asp.Net项目的根目录下。

  • Angular 5将配置文件与asp.net核心合并

    最佳参考我发现如何做到这一点是一个Pluralsight教程“ 用ASP.NET核心,MVC,实体框架核心,Bootstrap和Angular构建Web应用程序”作者:Shawn Wildermuth - https://app.pluralsight.com/library/课程/ aspnetcore -mvc -efcore-bootstrap-angular-web / table-of-contents(查看关于使用Angular进行客户端开发的章节) - 为了记录,我与Pluralsight或Shawn没有任何关系

    问题/问题

    我理解使用Node.js作为Angular Universal的后端,但我认为在Asp.Net Core世界中,通过Razor Page来呈现html是非常有效的。

  • 问题:我可以使用Microsoft.AspNetCore.SpaServices(https://github.com/aspnet/JavaScriptServices)来调用cshtml页面或调用服务器url路径,然后将在服务器上呈现,然后通过SpaService将HTML注入到Angular框架。
  • 以下是Angular Component的一个例子 在这里输入图像描述

    链接地址: http://www.djcxy.com/p/52543.html

    上一篇: Angular 5 + AspNetCore + SpaServices + cshtml Can this be done?

    下一篇: ASP.NET Core 2.0 Angular 4 universal app in production