gpt4 book ai didi

c# - MVC4 - 当优化设置为 true 时捆绑不起作用

转载 作者:IT王子 更新时间:2023-10-29 03:54:26 24 4
gpt4 key购买 nike

我想知道我在这里做错了什么。我正在使用 ASP.NET C# MVC4,我想使用新的 css/js 优化功能。

这是我的 HTML 部分

@Styles.Render("~/content/css")

这是我的 BunduleConfig.cs 部分

bundles.Add(new StyleBundle("~/content/css").Include(
"~/content/css/reset.css",
"~/content/css/bla.css"));

// BundleTable.EnableOptimizations = true;

输出(作品):

<link href="/content/css/reset.css" rel="stylesheet"/>
<link href="/content/css/bla.css" rel="stylesheet"/>

但是,当我取消注释 BundleTable.EnableOptimizations = true; 时,html 输出如下所示

<link href="/content/css?v=5LoJebKvQJIN-fKjKYCg_ccvmBC_LF91jBasIpwtUcY1" rel="stylesheet"/>

这当然是 404。我不知道我哪里做错了,请帮忙,第一次使用 MVC4。

最佳答案

我想问题是你把包放在一个实际存在的虚拟 URL 上,但它是一个目录。

MVC 正在从您的包创建一个虚拟文件,并从您指定为包路径的路径提供它。

该问题的正确解决方案是使用不直接映射到现有目录的包路径,而是在该目录中使用虚拟文件名(也不映射到真实文件名)。

例子:

如果您的网站有一个名为/content/css 的文件夹,请按如下方式制作您的 css 包:

在 BundleConfig.cs 中:

bundles.Add(new StyleBundle("~/content/css/AllMyCss.css").Include(
"~/content/css/reset.css",
"~/content/css/bla.css"));

在页面上:

@Styles.Render("~/content/css/AllMyCss.css")

请注意,这假设您的 css 文件夹中没有名为 AllMyCss.css 的文件。

关于c# - MVC4 - 当优化设置为 true 时捆绑不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12240097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com