1. 程式人生 > >asp.net core合併壓縮資原始檔(轉載)

asp.net core合併壓縮資原始檔(轉載)

在asp.net core中使用BuildBundlerMinifier合併壓縮資原始檔


在asp.net mvc中可以使用Bundle來壓縮合並css,js 不知道的見:http://www.cnblogs.com/morang/p/7207176.html
在asp.net core中則可以使用BuildBundlerMinifier來進行css,js的壓縮合並
新建一個core專案可以看到一個根目錄下面有一個bundleconfig.json配置檔案,看名字大概也猜到了幾分,點開json檔案中的連結,果然就是它~
官方文件地址:https://docs.microsoft.com/zh-cn/aspnet/core/client-side/bundling-and-minification

好的。接下來跟著文件試試看

 

 

在vs中下載安裝擴充套件


 

 

使用NuGet安裝 BuildBundlerMinifier


  • 使用命令dotnet add package BuildBundlerMinifier 或者 NuGet包管理器安裝完畢
  • 重新生成專案
  • yes,成功,整個配置檔案的配置一看就能明白:結合圖看配置就知道是將inputFiles配置的條目資源壓縮合併成outputFileName的資源

  這裡再展示下bundleconfig.json檔案的格式樣例:
[
  {
    // 要輸出的捆綁檔名稱。 可以包含中的相對路徑bundleconfig.json檔案。 必填
    "outputFileName": "wwwroot/build/xxx.xxx.com/min.css",
    // 要將捆綁在一起的檔案的陣列。 這些是配置檔案的相對路徑。 可選,* 空值會在空的輸出檔案。 組合支援模式。
    "inputFiles": [
      "wwwroot/bootstrap/bootstrap.css"
    ]
  },
  {
    "outputFileName": "wwwroot/build/xxx.xxx.com/min.js",
    "inputFiles": [
      "wwwroot/jquery/jquery.min.js",
      "wwwroot/knockout/knockout-3.4.2.js"
    ],
    // "輸出型別縮減選項。
    // "可選,預設值-minify": { "enabled": true },
    "minify": {
      "enabled": true,
      "renameLocals": true
    },
    //  指示是否生成捆綁的檔案的源對映的標誌。 可選,預設-false
    "sourceMap": true,
    // "指示是否將生成的檔案新增到專案檔案的標誌。" "可選,預設-false",
    "includeInProject": true
    // 用於儲存生成的原始碼對映檔案的根路徑。
    //"sourceMapRootPath": ""
  }
]

 

引數說明
-outputFileName:要輸出的壓縮檔案的相對路徑。 -必填 -inputFiles:要輸出的壓縮檔案的相對路徑。 - 可選,為空則輸出空檔案
- 空值會在空的輸出檔案。 支援組合模式 - 組合模式 例子:"inputFiles": ["wwwroot/**/*(*.css|!(*.min.css)"] 將獲取所有 CSS 檔案,不包括縮減的檔案模式。   -minify:壓縮選項的配置 - 預設啟用壓縮,更多配置見BundlerMinifier-Wiki - 可選 -includeInProject:將生成的檔案新增到專案檔案 (預設的檔案中也沒有這個選項) - 文件寫的是 預設false,在vs中轉到定義檢視是true 。囧,預設是沒有這個引數的 -sourceMaps:生成捆綁的檔案的源對映 -預設false     根據不同環境使用不同的css/js

使用新增的environment標籤去根據不同的環境引入不同的css檔案 ok,可以的,那麼問題來了
asp.net core的Development,Staging,Production這幾個環境變數在哪裡配置呢?     三個環境分別對應 開發 測試 生成,詳情見文件(劃重點):https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/environments
簡單描述之:專案右鍵->屬性->除錯->環境變數->>>一張圖說明 然後發現原來除錯資訊什麼的都是放到launchSettings.json中~
將環境變數ASPNETCORE_ENVIRONMENT的值修改為Production後,執行起來,總算完成了

 

原文連結