我們有使用 Bundler & Minifier 來幫助我們將自己撰寫的 JS/CSS 檔案打包跟做最小化,但是 ASP.NET Core 專案在發佈的時候,預設會連同原始檔案也一併發佈出去,多了一些無謂的檔案,因此我們會希望專案在發佈的時候,不要輸出這些檔案。
[小菜一碟] ASP.NET Core 發佈時,只輸出最小化後的 JS/CSS 檔案。
- 460
- 0
- ASP.NET Core
我們有使用 Bundler & Minifier 來幫助我們將自己撰寫的 JS/CSS 檔案打包跟做最小化,但是 ASP.NET Core 專案在發佈的時候,預設會連同原始檔案也一併發佈出去,多了一些無謂的檔案,因此我們會希望專案在發佈的時候,不要輸出這些檔案。
ASP.NET Core 在發佈的時候,會將 Razor View 採用預先編譯的方式,這一點改變讓 Web 應用程式啟動得更快,但是在開發時期也是這樣就讓我挺不習慣的,原本我以為在開發時期即時編譯 Razor View 的功能,會在 Visual Studio 2019 v16.6 加進來,不過它似乎提早了
ASP.NET Core 的 ResponseCache 觸發伺服器端快取的條件尤為嚴格,限制很多,這也是它跟過去我們所熟悉的 OutputCache 特別不一樣的地方,所以 ResponseCache 我們也沒辦法就這樣直接當做 OutputCache 來使用,缺的部分我們只好自己來補足。
之前有寫過一篇在 IIS 用 URL Rewrite 解決 SEO 要求網址全小寫及有無斜線結尾的問題,到了 ASP.NET Core 雖然沒有 URL Rewrite 擴充套件可以安裝,但是有一個 URL Rewriting Middleware 可以來幫助我們做到一樣的事情。
_ViewStart.cshtml 在 ASP.NET MVC 就存在了,而 ASP.NET Core MVC 則多了一個 _ViewImports.cshtml,這兩個都會對 View 有全域性的影響,重新來了解一下 _ViewStart.cshtml 及新多的 _ViewImports.cshtml 的作用。
在 Visual Studio 2019 v16.4.5 的 ASP.NET Core MVC 專案上,按右鍵移到「加入
」是看不到「區域
」這個選項的。
所以 Areas(區域)得要自己手動加了,這邊就記錄一下手動新增 Areas 的步驟。
PowerShell 目前是開源的,而且跨平台,做為一位長期在微軟技術生態圈打滾的碼農,面對要撰寫 Script 做自動化工作的場景,怎麼可以不用呢? 馬上來將上一篇文章用 Shell Script 實現藍綠部署,改用 PowerShell 來實現。
在過去,發佈 Web 應用程式到 IIS 上,只要把新發佈的檔案覆蓋掉線上的檔案,IIS 就自動幫我們處理好新舊版的切換,現在搬到 Linux,這個新舊版切換的程序就得自己來了,第一個想到的工具就是 Shell Script。
微軟官方文件「在 Linux 上使用 Nginx 裝載 ASP.NET Core」使用的作業系統是 Ubuntu,我個人是偏好號稱萬年不掛的 CentOS,Linux 不同陣營之間的風格是有一點差異的,所以如果照著微軟官方的步驟套到 CentOS 上,一定會在某個地方覺得拐手,我就把到可以成功瀏覽網頁之前需要注意地方做個記錄。
在前一篇文章 [料理佳餚] ASP.NET Core 的虛擬目錄哪去了?中有提到,傳統 ASP.NET 的 HTTP Handler 及 HTTP Modules 的工作在 ASP.NET Core 是由 Middleware 來負責處理,這篇文章就來介紹撰寫 Middleware 的幾種方式。