集成Angular 2和.NET Core Web API的最佳方式?

时间:2017-03-06 10:15:14

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

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

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

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

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

当我从Visual Studio进行发布时,我希望它能够构建并使用api包含前端的生成版本。这可能吗?

2 个答案:

答案 0 :(得分:1)

由于多种原因,你无法做到这一点。它导致两个应用程序路由中的冲突。此外,我不认为像Apache或IIS这样的Web服务器可以这样做。我建议您为asp.net api创建子域,如api.domain.com,并在主域中托管您的角度应用。

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

答案 1 :(得分:0)

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

不幸的是,在服务器端渲染方面有一些限制(比如访问dom)。

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