我的MVC网站中有以下文件夹结构:
- 内容 - 笔记本 - css
- 内容 - 笔记本 - 字体
内容直接位于网站的根目录下。在我的css文件夹中,我有一个具有相对路径的文件
URL('?../字体/ fontawesome-webfont.woff V = 4.0.3&#39)
我的套装目前看起来像:
bundles.Add(new StyleBundle("~/bundles/Content/Notebook/css").Include(
"~/Content/Notebook/css/animate.css",
"~/Content/Notebook/css/font.css",
"~/Content/Notebook/css/font-awesome.min.css",
"~/Content/Notebook/css/app.css"
));
使用
呈现@Styles.Render("~/bundles/Content/Notebook/css")
这适用于css文件,但字体文件没有加载,我看到它在这里查找http://localhost/MySite/bundles/Content/fonts/fontawesome-webfont.woff?v=4.0.3
我看到了,然后尝试将我的包名改为
〜/内容/笔记本/ CSS
如果我删除了"捆绑"那么我认为这也会得到相对的工作路径。从名字, 但这样做会导致css文件无法加载。为什么不加载css文件?如果我有"捆绑"回到它再次起作用的名称。还有任何想法如何让字体与捆绑一起加载?
答案 0 :(得分:4)
执行此操作时:
url('../fonts/fontawesome-webfont.woff?v=4.0.3')
您通过相对路径引用字体。如果您将CSS捆绑包放在/bundles/Content/Notebook/css
,它将会显示bundles/content/fonts
,因为这是您的相对路径和浏览器查看您的css文件的位置的组合。
一些可能的选择(或者):
更改您的捆绑路径:
bundles.Add(new StyleBundle("~/Content/Notebook/css") ...
(the reason your css files didn't load when you removed bundles was that you didn't change the name of the stylebundle)
和
@Styles.Render("~/Content/Notebook/css")
使用绝对路径引用字体:
url('/Content/notebook/fonts/fontawesome-webfont.woff?v=4.0.3')