日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

ASP.NET?Core?Web資源打包與壓縮技術介紹_實用技巧

作者:Sweet-Tang ? 更新時間: 2022-04-25 編程語言

概述

在ASP.Net中可以使用打包與壓縮這兩種技術來提高Web應用程序頁面加載的性能。通過減少從服務器請求的次數和減少資源文件的體積來提高加載性能。

  • 打包是一地將多個文件(CSS,JavaScript等資源文件)合并或打包到單個文件。文件合并可減少了 Web 資源文件從服務器的所需請求數,這樣也可提高頁面載入的性能。
  • 壓縮是將各種不同的代碼進行優化,以減少請求資源文件的體積。壓縮的常見方法刪除不必要的空格和注釋,并將變量名縮減為一個字符。

例如下面JavaScript函數:

AddAltToImg = function (imageTagAndImageID, imageContext) {
  ///
  /// Adds an alt tab to the image
  // 
  //The image selector.
  //The image context.
  ///
  var imageElement = $(imageTagAndImageID, imageContext);
  imageElement.attr('alt', imageElement.attr('id').replace(/ID/, ''));
}

壓縮后,函數簡化為如下:

AddAltToImg=function(t,a){var r=$(t,a);r.attr("alt",r.attr("id").replace(/ID/,""))};

除了刪除注釋和不必要的空格之外,參數和變量名稱被重命名(縮寫)如下:

原始名稱 重命名后
imageTagAndImageID t
imageContext a
imageElement r

此示例來自于github:https://github.com/aspnet/Docs/blob/master/aspnetcore/client-side/bundling-and-minification.md

bundleconfig.json文件

MVC項目模板提供了一個bundleconfig.json配置文件,它定義了打包的配置選項。默認情況下,實現了自定義腳本文件(wwwroot/js/site.js) 和樣式表 (wwwroot/css/site.css) 文件的配置。

[
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "wwwroot/css/site.css"
    ]
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "wwwroot/js/site.js"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    },
    "sourceMap": false
  }
]

配置選項詳細說明:

  • outputFileName - 要輸出打包包文件的路徑。 與bundleconfig.json?文件的相對路徑。?必填
  • inputFiles - 要打包的的文件路徑數組。 與是配置文件的相對路徑。?選填,如果是空數組會輸出一個空文件。 支持通配符模式。
  • minify - 輸入出類型的壓縮選項。?選填,默認值 -minify: { enabled: true }
    • 輸入出文件類型可用配置選項。
      • CSS Minifier
      • JavaScript Minifier
      • HTML Minifier
  • includeInProject - 將生成的文件添加到項目。?選填,?默認值 - false
  • sourceMaps - 生成合并文件的源文件映射。?選填,默認值 - false

在項目中使用打包和壓縮

在VS 2015/2017需要安裝BundlerMinifierVsix?,安裝完成后需要重啟VS。

bundleconfig.json文件右鍵單擊,然后選擇任務運行程序資源管理器。

Update all fiels選項右鍵單擊,然后選擇Run。

在項目中會分別生成壓縮后的資源文件。

在視圖中使用打包壓縮后的資源文件

在上一篇博客《ASP.NET Core配置環境變量和啟動設置》我們已經討論過環境變量,在視圖中通過 Environment 標簽,分別定義開發、預演和生產環境加載對應的資源文件。

 
    
    


    
    

當在開發模式下運行應用程序,我們使用未壓縮Css和腳本文件;在生產環境中,我們壓縮后的資源文件,這樣可以提高應用程序的性能。

總結

在ASP.Net中可以使用打包與壓縮這兩種技術來提高Web應用程序頁面加載的性能。

原文鏈接:https://www.cnblogs.com/tdfblog/p/bundling-and-minification-in-asp-net-core.html

欄目分類
最近更新