【问题标题】:It is possible to create .NetCore and Angular2 Hybrid Application可以创建 .Net Core 和 Angular 2 混合应用程序
【发布时间】:2020-01-07 06:07:26
【问题描述】:

我正在使用 .net core 和 angular2 创建一个应用程序, 我可以在 Razor 视图页面中加载角度组件吗?

【问题讨论】:

  • 可能与您的想法不完全一致,但您是否已经查看过Blazor
  • 您可以创建自定义web components,并且可以在 Razor 页面中引用它们。请参阅guide 它是如何在 Angular 中完成的。如果您的目标是旧的网络浏览器,您将有几个问题需要克服。
  • @MartinKlinke 问题详情已更新,请检查一次。
  • 我加厚这个链接可以帮助你ievangelistblog.wordpress.com/2016/01/13/…

标签: .net angular .net-core razor-pages


【解决方案1】:

澄清一下,Angular2 是指 Angular,还是 Angular 的具体版本 2?

Angular 2.x 及更高版本现在只是 Angular。 Angular 1.x 被称为 AngularJS

如果您只是指 .NET Core 和 Angular,那么 .NET Core 模板正好可以解决这个问题。

使用 Visual Studio IDE 创建一个新的 Web 项目并在模板中选择“Angular”,或者您也可以使用 dotnet new 命令使用 .NET Core / MVC Core / Angular 8 构建一个新项目。

dotnet new angular

更新

我强烈反对您提出的简单网络应用程序。 Angular 是一个单页应用程序 (SPA) 框架。您所描述的是在可能的多页应用程序中使用 Angular。 Angular 还带有自己的工具和不同的包管理系统。如果没有某种形式的分离,就很难同时管理两者。

AngularJS / KnockoutJS / 等是您可以“放入”到 Razor 页面的库,并且更适合您为简单的 Web 应用程序显示的内容。

【讨论】:

  • 是的,我说的是 Angular 我知道带有 Angular 模板的 .net 核心。但是在那个模板中,Angular 是单独运行的。我想在.Net核心的剃须刀页面(.cshtml)中加载角度并运行它。我已更新问题详情,请检查一次。
【解决方案2】:

是的,可以使用剃须刀页面为 Angular 应用程序提供服务。因此,您必须将转译和捆绑的应用程序放在 wwwroot 文件夹中,并且您必须在 index.cshtml 中引用 Angular 构建的输出。例如,如果您将构建的 Angular 应用程序放在 wwwroot/dist 中,那么您的 index.cshtml 可能如下所示:

@{
    ViewData["Title"] = "";
}

<app>Loading...</app>

@section scripts {
    <script src="~/dist/vendor.js"></script>
    <script src="~/dist/main.js"></script>
    ...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-12
    • 2016-05-23
    • 2020-06-08
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 2017-02-18
    • 2018-06-10
    相关资源
    最近更新 更多