ASP.NET Core 2.0 剃须刀 + Angular 4 混合

ASP.NET Core 2.0 Razor + Angular 4 Hybrid

我有一个使用 Razor Engine (.cshtml) 在 ASP.NET Core 2.0 上运行的应用程序,但我想将 Angular 4 合并到应用程序中以避免老派 jQuery 来自 AJAX 调用的数据绑定。我必须执行哪些步骤才能将 Angular 添加到我现有的项目中?

我也看过 knowkoutJS,但我不知道它是否得到积极支持。

编辑:

我想我正在寻找的是关于如何将 Angular 4 添加到使用 Razor 引擎的现有 .NET 核心 2.0 应用程序的分步过程。

Angular 不是特定集成的最佳选择。您必须使用带有路由和 e.t.c 的整个框架,因此您将有两个独立的应用程序(前端 - 由 Angular 提供支持)和 ASP.NET Core as web api 部分不多,没有任何剃须刀页面。

如果您不喜欢它,请看一看 https://vuejs.org/。它是非常轻量级的框架,可以与 razor 一起作为 jquery

的现代替代品使用

我目前正在与 angular 合作开展一个新项目 4. 我在旅途中学习。我使用 angular 1.5.X 进行开发。这是第一次angular 4.

这是我的发现。我不知道您为什么不想与 angular 路由混合使用。但是将 angular 路由与 .net 应用程序混合和匹配很容易。希望这会帮助您朝着好的方向发展。

首先,正如@Ilya.Sulimanov所说,Angular 4 应用程序似乎是带有路由、构建(WebPack)等的独立 SPA

接下来,使用 angular 4 和 .Net 实现身份验证有点麻烦。 .Net 身份不支持开箱即用的基于 angular 的身份验证。理想的是使用基于令牌的身份验证。这需要在身份之上实现。但它很容易做,而且可以证明未来,就好像你想开发一个移动应用程序等。

否则,您可以使用混合方法进行身份验证。只需使用基于视图的页面(表单身份验证)进行登录、注册和更改密码等。一旦通过身份验证,将用户重定向到 SPA。然后在所有 API 中使用 "Authorized" 属性进行 SPA。但是有一个问题!您需要在 angular 端注入 HTTP 错误处理以检查用户是否每次都通过身份验证。如果 timeout/logged 出来,则使用 angular 路由器重定向到登录页面。

注意事项,

为您的 SPA 使用固定的 URL。说 www.example.com/spa 所以所有 angular 路由都从那里发生。示例:www.example.com/spa/#/home 等

我有点难以让 webpack 与 .netcore 携手合作。似乎有一点学习曲线。我来自 Gulp 背景。

希望对您的选择有所帮助。

好的开始,

UI

一些应用程序[适合作为起点],

更新

找到这个 https://github.com/MarkPieszak/aspnetcore-angular2-universal。这很好地说明了如何使用 .net 核心开发配置 webpack。

到目前为止,没有一个例子没有给出单站解决方案。但是他们每个人都解决了不同的问题以获得完整的解决方案。