asp.net core合併壓縮資源文件引起的學習之旅

0. 在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-minificationcss

好的。接下來跟着文檔試試看html

1. 在vs中下載安裝擴展


重啓vs2017,臥槽。一遍又一遍無響應(家裏公司電腦都沒有成功~)..幸虧還有其餘路能夠走...
圖片linux

2. 使用NuGet安裝 BuildBundlerMinifier

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

參數說明

-outputFileName:要輸出的壓縮文件的相對路徑。
-必填
-inputFiles:要輸出的壓縮文件的相對路徑。
- 可選,爲空則輸出空文件
- 空值會在空的輸出文件。 支持組合模式
- 組合模式 栗子:"inputFiles": ["wwwroot/**/*(*.css|!(*.min.css)"] 將獲取全部 CSS 文件,不包括縮減的文件模式。git

-minify:壓縮選項的配置
- 默認啓用壓縮,更多配置見BundlerMinifier-Wiki
- 可選
-includeInProject:將生成的文件添加到項目文件 (默認的文件中也沒有這個選項)
- 文檔寫的是 默認false,在vs中轉到定義查看是true 。囧,默認是沒有這個參數的
-sourceMaps:生成捆綁的文件的源映射
-默認falsegithub

3.根據不一樣環境使用不一樣的css/js

使用新增的environment標籤去根據不一樣的環境引入不一樣的css文件
圖片
ok,能夠的,那麼問題來了json

.net core的Development,Staging,Production這幾個環境變量在哪裏配置呢?

三個環境分別對應 開發 測試 生成,詳情見文檔(劃重點):https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/environments
簡單描述之:項目右鍵->屬性->調試->環境變量->>>一張圖說明
圖片
而後發現原來調試信息什麼的都是放到launchSettings.json中~
將環境變量ASPNETCORE_ENVIRONMENT的值修改成Production後,運行起來,總算完成了
圖片bash

文檔中有說須要注意的地方

在 Windows 和 macOS 上,指定的環境名稱是區分大小寫。
是否將變量設置爲Development或development或DEVELOPMENT結果將是相同的。可是,Linux 是區分大小寫默認狀況下的操做系統。環境變量、文件名和設置須要區分大小寫。mvc

命令行設置環境變量

  • cmd:set ASPNETCORE_ENVIRONMENT=Development
  • PowerShell:$Env:ASPNETCORE_ENVIRONMENT = "Development"
  • macOS、Linux:運行時指定ASPNETCORE_ENVIRONMENT=Development dotnet run
  • linux 設置計算機級別的環境變量需將export ASPNETCORE_ENVIRONMENT=Development寫入.bashrc或.bash_profile文件

在關於環境變量的底部也說明了如何獲取當前的運行時環境

可經過IHostingEnvironment接口的擴展直接判斷環境
圖片
使用
圖片asp.net

總結

收穫頗多,明確了目標,以前模糊畏難的東西也逐個解決了ide

  • .net core 如何合併壓縮js
  • .net core 如何在不一樣的環境使用不一樣的資源
  • .net core的環境變量如何配置

參考文檔

相關文章
相關標籤/搜索