1

我已将插件 css 文件捆绑为

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

由于字体真棒使用位于其目录中的字体我将其位于该插件目录中的字体复制到根级别的字体文件夹并将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
}

这使得请求转到为未放置字体的捆绑包创建的虚拟路径。

我的困惑是为什么捆绑将字体绝对路径更改为相对路径。如何在不创建为捆绑包创建的文件夹结构的情况下解决此问题?MVC 版本 5 .NET 框架:4.5

笔记

  1. 我只在未缩小版的 css 缩小版中更改了字体 url,没有以任何方式触及。
  2. 我还在捆绑包中启用了优化。
4

1 回答 1

0

我不知道在捆绑和缩小中是如何处理或实施的,但以下解决方案对我有用,我希望对像我一样面临或将面临问题的人有用。

正如我所说,我仅在未缩小版的 css 中更改了字体路径,而缩小版的 css 未受影响。

当您在包含未缩小版 css 的捆绑包中启用优化时,并且您为同一文件提供了缩小版 css,例如

Sample.css 和 Sample.min.css

然后创建一个包和缩小将采用原始缩小版本的 css,而不是缩小未缩小的 css 版本。

因此,更改两个文件中的字体路径将解决问题。这也应该适用于图像。

于 2017-06-22T18:06:55.407 回答