asp.net core spa应用(angular) 部署同一网站下

  需求:现在一个应用是前后端开发分离,前端使用angular,后端使用 asp.net core 提供api ,开发完成后,现在需要把两个程序部署在同一个网站下,应该怎么处理?

  首先可以参考微软的官方文档  Use the Angular project template with ASP.NET Core

   .net core 对前后端的部署还是很友好的,主要处理步骤如下:

   1.配置服务 在startup中的 ConfigureServices()中声明

   

   services.AddSpaStaticFiles(configuration => {
                //angular文件所在文件夹
                configuration.RootPath = "client";
            });

2. 调用服务,在startup中的 Configure() 方法中声明

   app.UseStaticFiles();
            // spa files
            app.UseSpaStaticFiles();
     
            app.UseMvc(routes =>
            { 
                routes.MapRoute(
                    name: "default",
                    template: "{controller}/{action=Index}");
                
            });
            //使用服务
            app.UseSpa(f =>
            {
                //f.Options.SourcePath = @"\client";
                if (env.IsDevelopment())
                {
            // 本地调试用 f.UseProxyToSpaDevelopmentServer(
"http://localhost:4200"); } });

这里要注意, app.usespa要放在 app.usemvc后面,否者前端是调不到后端api的。

3 部署: 

  前后端分别发布出来,在iis中把后端部署好,同时,在后端的文件夹中建立一个 “client” 文件夹(第一步中的配置),把前端发布好的文件放置到该目录中就可以了。

猜你喜欢

转载自www.cnblogs.com/jidanfan/p/11546490.html
今日推荐