【问题标题】:Best way to integrate Angular 2 and .NET Core Web API?集成 Angular 2 和 .NET Core Web API 的最佳方式?
【发布时间】:2017-07-26 03:53:59
【问题描述】:

我的解决方案目前有 2 个项目。前端是使用 Angular cli 创建的 Angular 2 应用,后端是 .NET Core Web API。

如何将这两个应用程序集成在一起,以便在同一个端口上提供服务?目前,我已将标头放入 Web API 以允许跨源请求中的所有域,但我不想在生产中这样做,而且我还需要引入身份验证,因此我需要一个在 Angular 2 应用程序和API。

我仍然想使用 Angular cli 来搭建 Angular 应用程序,但希望前端通过与 api 相同的端口提供服务。

我想将 Angular cli 文件添加到 Visual Studio 项目中,这样当我启动 api 实例时,它也可以为前端项目提供服务。

此外,当我从 Visual Studio 进行发布时,我希望它执行 ng build 并包含带有 api 的前端生产版本。这可能吗?

【问题讨论】:

    标签: angular angular-cli asp.net-core-webapi


    【解决方案1】:

    核心有 angular2 模板,它也使用 webpack 和服务器端渲染(角度通用)。 http://blog.stevensanderson.com/2016/10/04/angular2-template-for-visual-studio/

    不幸的是,服务器端渲染存在一些限制(例如访问 dom)。

    如果是这样,您可以直接从 index.cshtml 启动 angular2 项目,并手动配置有关模板设置的所有内容。

    【讨论】:

    • 那么,当拥有 .net 核心生态系统时,推荐的 angular-cli 项目服务方式是什么?
    • 回答我自己的评论,一篇我觉得很有用的帖子:stackoverflow.com/questions/38270449/…
    【解决方案2】:

    由于多种原因,您不能这样做。它导致两个应用程序路由发生冲突。我也不认为像 Apache 或 IIS 这样的 Web 服务器能够做到这一点。我建议您为 api.domain.com 之类的 asp.net api 创建子域,并将您的 Angular 应用程序托管在主域中。

    此外,您将 Angular 应用程序和 asp.net 结合起来的想法并不常见,因为这两个应用程序需要不同的工具来编译/转译或部署。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-27
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 2018-09-24
      • 2019-02-11
      相关资源
      最近更新 更多