[小菜一碟] ASP.NET Core 發佈時,只輸出最小化後的 JS/CSS 檔案。

我們有使用 Bundler & Minifier 來幫助我們將自己撰寫的 JS/CSS 檔案打包跟做最小化,但是 ASP.NET Core 專案在發佈的時候,預設會連同原始檔案也一併發佈出去,多了一些無謂的檔案,因此我們會希望專案在發佈的時候,不要輸出這些檔案。

修改 *.pubxml 檔案

ASP.NET Core 專案在 Visual Studio 發佈時,會產生一個 *.pubxml 檔案,被放在 Properties\PublishProfiles 底下。

修改裡面的內容,加上下面這段 XML。

<ItemGroup>
  <Content Update="wwwroot\js\**\*.*">
    <CopyToPublishDirectory>Never</CopyToPublishDirectory>
  </Content>
  <Content Update="wwwroot\js\**\*.min.js">
    <CopyToPublishDirectory>Always</CopyToPublishDirectory>
  </Content>
  <Content Update="wwwroot\css\**\*.*">
    <CopyToPublishDirectory>Never</CopyToPublishDirectory>
  </Content>
  <Content Update="wwwroot\css\**\*.min.css">
    <CopyToPublishDirectory>Always</CopyToPublishDirectory>
  </Content>
</ItemGroup>

它的作用是這樣的,將 wwwroot\js\ 底下包含子資料夾內的所有檔案,設為不要複製到輸出目錄,接著再將 wwwroot\js\ 底下包含子資料夾內的 *.min.js,設為永遠複製到輸出目錄,就大功告成了。

相關資源

C# 指南
ASP.NET 教學
ASP.NET MVC 指引
Azure SQL Database 教學
SQL Server 教學
Xamarin.Forms 教學