asp.net core spa應用(angular) 部署同一網站下

  需求:如今一個應用是先後端開發分離,前端使用angular,後端使用 asp.net core 提供api ,開發完成後,如今須要把兩個程序部署在同一個網站下,應該怎麼處理?前端

  首先能夠參考微軟的官方文檔  Use the Angular project template with ASP.NET Core後端

   .net core 對先後端的部署仍是很友好的,主要處理步驟以下:api

   1.配置服務 在startup中的 ConfigureServices()中聲明mvc

   

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

2. 調用服務,在startup中的 Configure() 方法中聲明app

   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的。asp.net

3 部署: ide

  先後端分別發佈出來,在iis中把後端部署好,同時,在後端的文件夾中創建一個 「client」 文件夾(第一步中的配置),把前端發佈好的文件放置到該目錄中就能夠了。visual-studio

相關文章
相關標籤/搜索