.NET Core MVC 靜態文件應用

来源:https://www.cnblogs.com/gzbit-zxx/archive/2020/02/15/12312420.html
-Advertisement-
Play Games

一、靜態文件應用方面 ASP.NET Core 靜態文件應用,主要分為兩方面:網站訪問和靜態文件整合 二、案例 1、訪問靜態文件 我們都知道,在 ASP.NET 項目中,我們的靜態文件一般要放在 wwwroot(項目預設),比如CSS、JS、HTML、IMG、PNG 等等。 如果在 wwwroot ...


一、靜態文件應用方面

  ASP.NET Core 靜態文件應用,主要分為兩方面:網站訪問靜態文件整合

二、案例

1、訪問靜態文件

  我們都知道,在 ASP.NET 項目中,我們的靜態文件一般要放在 wwwroot(項目預設),比如CSS、JS、HTML、IMG、PNG 等等。 如果在 wwwroot 文件目錄下放一張圖片,啟動程式是不能直接訪問的。我們需要在 Startup.css 啟動程式中,添加一個靜態訪問的中間建 UseStaticFiles() 即可實例如下如所示

 

 

 然後我們就可以在瀏覽器中訪問到我們的靜態文件了。

 

 

 2、修改預設wwwroot目錄 

  在項目中,如果習慣其他原因,我們想不叫 wwwroot ,我們是可以改為其他的名稱。如我們現在就該為public。我們只需要在 Program.cssCreateHostBuilder() 中添加 UseContentRoot("public") 即可。實例如下

 

 

 如果你沒有 public 這個根目錄,你啟動程式就會報錯,因為你已經改了目錄名稱。

 

 

 3、使用包管理器(libman)管理

  libman 主要是為了管理我們的CSS、JS,比如我們的jquery.js、bootstrap框架等等的前端工具。那麼如何添加呢,我們需要在 wwwroot右鍵菜單-》添加-》客戶端

 

 在彈出的 “添加客戶端庫” 中,選擇 unpkg ,輸入前端框架名稱,如 bootstrap 選擇添加所有庫或者選擇特點文件即可,目標位置是可以修改的。但必須放在 wwwroot 目錄下,點擊安裝即可。

 

 安裝後,可能我們需要稍等一下,可能網速慢等原因,下載該框架需要點時間。下載完成後,我們會在項目路徑下,生成一個 libman.json 文件

 

 這就是我們使用 libman 下載的前端框架,如果我們的 boostrap 框架刪除了,我們只需在 libman.json 上右鍵還原客戶端即可。

 

 4、對 JS 和 CSS 捆綁和壓縮

  在網頁設計中,如何我們需要引用很多的 JS 和 CSS 我們感覺代碼非常的多,我們可以使用捆綁的形式,將多個 CSS 和 JS 捆綁在一起,方便使用,那麼我們需要使用 NuGet 安裝一個工具 “BuildBundlerMinifier”我們如果安裝呢?那麼需要在項目上右鍵-》管理 NuGet 程式包

 

 在瀏覽中,搜索BuildBundlerMinifier 安裝即可

 

 安裝完成後,我們在項目路徑下,新建一個json文件 bundleconfig.json 的文件,實例如下

 

我們需要在裡面寫需要壓縮的為一個的文件,示例如下

  {
    "outputFileName": "wwwroot/css/web.min.css",
    "inputFiles": [
      "wwwroot/web.css",
      "wwwroot/index.css"
    ]
  }
]

 

 

 編譯項目就會在 wwwroot/css目錄下麵生成一個web.min.css

 

 如果不想要壓縮的css,我們可以修改一個配置,如下所示

[
  {
    "outputFileName": "wwwroot/css/web.min.css",
    "inputFiles": [
      "wwwroot/web.css",
      "wwwroot/index.css"
    ],
    "minify": {
      "enabled": false
    }

  }
]

 

 

 如果我們想壓縮 js 也同理。

[
  {
    "outputFileName": "wwwroot/css/web.min.css",
    "inputFiles": [
      "wwwroot/web.css",
      "wwwroot/index.css"
    ],
    "minify": {
      "enabled": false
    }
  },
  {
    "outputFileName": "wwwroot/js/web.min.js",
    "inputFiles": [
      "wwwroot/web.js",
      "wwwroot/index.js"
    ],
    "minify": {
      "enabled": false
    }
  }
]

三、總結

  學得不深入,有不對的地方,歡迎提提意見,謝謝!!!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 慕課網-悟空-玩轉Java併發工具,精通JUC,成為併發多面手-筆記 微雲:https://share.weiyun.com/81aa12bb98016e200add31fb8e191cdf百度網盤:鏈接:https://pan.baidu.com/s/1IiClTkQwFJgBL2NqlptKbA ...
  • 一、前言 從學單片機開始鼓搗C語言,到現在為了學CV鼓搗Python,期間在CSDN、簡書、博客園和github這些地方得到了很多幫助,所以也想把自己做的一些小東西分享給大家,希望能幫助到別人。記錄人生的第一篇博客,mark。 二、圖像檢測步驟 1. 讀取兩張圖片 第一張是需要檢測的小物體,第二章圖 ...
  • 多態的體現 父類的引用指向了自己的子類對象。 父類的引用也可以接受自己的子類對象。 代碼體現 運行結果 多態的前提 必須是類與類之間有關係。要麼是繼承關係,要麼實現。 存在覆寫關係。 多態利弊 利處 多態的出現大大地提高了程式的拓展性。 弊端 提高了拓展性,但是只能使用父類的引用訪問父類中的成員,不 ...
  • 今天給大家翻譯一篇由ASP.NET首席開發工程師 "James Newton King" 前幾天發表的一篇博客,文中帶來了一個實驗性的產品gRPC Web。大家可以點擊文末的討論帖進行相關反饋。我會在文章末尾給出原文鏈接。全部譯文如下: 我很高興宣佈通過.NET對gRPC Web進行實驗性支持。gR ...
  • .NET Core WebAPI post參數傳遞時後端的接收方式 1. 實體類 2. dynamic動態類型 3. JObject參數 4. 單值參數(字元串參數) A.前端Post請求代碼 B.後端接收參數方式 1. 實體類 實體類是比較簡單的一種傳參方式,使用頻率非常高。 1. 添加實體類 2 ...
  • 通過使用變換(transform),許多繪圖任務將更趨簡單;變換是通過不加通告地切換形狀或元素使用的坐標系統來改變形狀或元素繪製方式的對象。在WPF中,變換由繼承自System.Windows.Media.Transform抽象類的類表示。下表列出了這些類。 表 變換類 從技術角度看,所有變換都使用 ...
  • 概述 上兩篇(asp.net core 3.x 身份驗證-1涉及到的概念、asp.net core 3.x 身份驗證-2啟動階段的配置)介紹了身份驗證相關概念以及啟動階段的配置,本篇以cookie身份驗證為例來大致說明asp.net core中的身份驗證原理。如果我們的應用只考慮瀏覽器使用,且不考慮 ...
  • DbTool 是一個支持 CodeFirst/DbFirst/ModelFirst 的資料庫小工具,原本是基於 dotnet framework WinForm 實現的,在 1.1.0 版本更新中使用 dotnet core 3.1 基於 WPF 重寫了,並實現了一個簡單的基於插件模式開發模式並引入... ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...