簡體   English   中英

從bundle加載時,字體路徑更改為相對

[英]Font path change to relative when loaded from bundle

我有捆綁插件css文件為

 StyleBundle adminArea = new StyleBundle("~/files/css/admin/common");
 adminArea.Include("~/assets/global/plugins/font-awesome/css/font-awesome.css");

因為字體真棒使用其位於其目錄中的字體我將位於該插件目錄中的字體復制到根級別的fonts文件夾中,並將css文件中的位置更改為

@font-face {
  font-family: 'FontAwesome';
  src: url('/fonts/fontawesome-webfont.eot?v=4.4.0');
  src: url('/fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'), 
      url('/fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'), 
      url('/fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'), 
      url('/fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'),
       url('/fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}

當請求此捆綁包時,使用相對路徑作為字體源源URL的字體真棒css文件點字體將更改為../fonts/*.eot?v=4.4.0

@font-face{
font-family:'FontAwesome';
src:url('../fonts/fontawesome-webfont.eot?v=4.4.0');
src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'),
url('../fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'),
url('../fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'),
url('../fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'),
url('../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');
font-weight:normal;
font-style:normal
}

這使得請求轉到為沒有放置字體的bundle創建的虛擬路徑。

我的困惑是為什么捆綁更改字體絕對路徑到相對路徑。 如何在不創建我為bundle創建的文件夾結構的情況下解決這個問題? MVC第5版.NET Framework:4.5

注意

  1. 我已經更改了字體網址只在css的縮小版本中沒有以任何方式觸及縮小版本。
  2. 我也在捆綁中啟用了優化。

我不知道在捆綁和縮小方面是如何處理或實施的,但是以下解決方案對我有用,我希望能為那些面臨或將面臨問題的人工作。

正如我所說,我已經改變了字體路徑只在css的未明確版本和css的縮小版本是不變的。

雖然您在包中啟用優化,其中包括css的未編譯版本,並且您為同一文件設置了縮小版本的css,例如

Sample.css和Sample.min.css

然后創建一個包和縮小將采用css的原始縮小版本,而不是縮小css的未編輯版本。

因此,更改兩個文件中的字體路徑將解決問題。 這也適用於圖像。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM