溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.net core webapi前后端開發(fā)分離后如何配置

發(fā)布時間:2021-08-20 09:33:38 來源:億速云 閱讀:157 作者:小新 欄目:開發(fā)技術

這篇文章主要為大家展示了“.net core webapi前后端開發(fā)分離后如何配置”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“.net core webapi前后端開發(fā)分離后如何配置”這篇文章吧。

背景:現(xiàn)在越來越多的企業(yè)都采用了在開發(fā)上前后端分離,前后端開發(fā)上的分離有很多種,那么今天,我來分享一下項目中得的前后端分離。

B/S Saas 項目:(這個項目可以理解成個人中心,當然不止這么點功能)

前端:node.js + vue

后端:.net core webapi

前端安裝 node.js 跟創(chuàng)建vue項目這些不是這篇文章的重點,重點在于項目完成后的部署。

.net corewebapi創(chuàng)建后,默認就創(chuàng)建了一個wwwroot的文件夾,這個文件夾是用來放置靜態(tài)文件的,所以,我們可以理解成,這個文件夾將放置我們的build好的前端項目。

.net core webapi前后端開發(fā)分離后如何配置

OK,到現(xiàn)在來講,有一個很有意思的發(fā)現(xiàn)(也可以是一點意思都沒有,因為都是同一個爸生的),這項目的部署跟mvc的部署的很像(這里不涉及底層運行,只是一個發(fā)布后簡單的像而已)。

.net core webapi前后端開發(fā)分離后如何配置

由上圖就足夠清晰了,這樣的部署是屬于開發(fā)上的前后端分離,他們同屬于一個站點,綁定同一個域名,所以不涉及跨域,外部不能直接調(diào)用webapi(安全上還是有保證D)。

那么這樣的部署卻很簡單,僅僅是在 Startup 里面的 Configure 設置 一下即可

//設置主頁
      app.UseDefaultFiles();

      //這個是.net core webapi 訪問wwwroot文件夾的配置,開啟靜態(tài)文件
      app.UseStaticFiles();

      app.UseMvc(routes =>
      {
        routes.MapRoute(
          name: "default",
          template: "api/{controller=Login}/{action=Get}/{id?}");
      });

1、首先是設置主頁

這里直接使用的是默認的,就是UseDefaultFiles 會重定向到default.htm、default.html、index.htm、index.html。當然你也可以指定設置的首頁(指定的頁面是可以自定義的?。?/p>

//設置主頁
      DefaultFilesOptions defaultFilesOptions = new DefaultFilesOptions();
      defaultFilesOptions.DefaultFileNames.Clear();
      defaultFilesOptions.DefaultFileNames.Add("index.html");

      app.UseDefaultFiles(defaultFilesOptions);

這樣就設定了重定向到index.html,那為什么前面用了Clear,其實個人認為僅僅是為了保險,因為

.net core webapi前后端開發(fā)分離后如何配置

2、開啟靜態(tài)文件,UseDefaultFiles 僅僅是一個重定向URL而不是真的提供一個文件,真正提供靜態(tài)文件的還是UseStaticFiles。這就是為什么要優(yōu)先設置 UseDefaultFiles 再到UseStaticFiles的原因。當然,提供靜態(tài)文件也提供了多個重載,可以提供一個相對路徑,還有靜態(tài)文件目錄的選擇。

.net core webapi前后端開發(fā)分離后如何配置

//這個是.net core webapi 訪問wwwroot文件夾的配置,開啟靜態(tài)文件
      StaticFileOptions staticFileOptions = new StaticFileOptions();
      staticFileOptions.FileProvider = new Microsoft.Extensions.FileProviders.PhysicalFileProvider(@"D:\testsite\wwwroot\");//指定目錄你站點api的要訪問的wwwroot目錄  

      app.UseStaticFiles(staticFileOptions);

上面這種寫法也同樣可以,當然指定的目錄也同樣可以放到配置文件里面去,但是這種做法一般都放在類似FTP的項目上。因為如果是指定的目錄脫離了 webapi 項目 wwwroot ,甚至是 wwwroot 下的文件夾都不可以訪問到靜態(tài)頁面的。

3、使用MVC并配置路由,開啟了靜態(tài)文件的訪問之后,就交由mvc來處理了,這個是webapi項目,所以配置api的路由就可以了。(除了上面的1、2順序不可以改變之外,mvc中配置的路由所放置的順序倒沒影響,因為這不是一個mvc項目)

好了,前后端都開發(fā)好之后,部署到服務器,僅是上面在Startup的配置即可。.net core 還是非常非常方便的。

.net core webapi前后端開發(fā)分離后如何配置

以上是“.net core webapi前后端開發(fā)分離后如何配置”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI