gpt4 book ai didi

asp.net-mvc - ASP.Net MVC 样式 bundle 不包含大多数文件

转载 作者:行者123 更新时间:2023-12-02 14:00:59 25 4
gpt4 key购买 nike

最近,我的本地项目副本完全失去了大部分样式。我花了一段时间才弄清楚,因为大部分样式都是在一个文件中完成的,其余的是 Kendo 和 jQuery UI 等小东西。

其他次要内容没有添加到页面中。我以为样式已经被另一位开发人员修改了(有一段时间没有接触这个项目了),他只是测试 Web API 的东西而不是 UI,所以他可能会破坏它并且永远不知道,但我追踪到了问题: bundle 中仅包含 site.css 文件,其他文件均不包含在内。我什至尝试重新排列 bundle 中包含的 CSS 文件的顺序,它只会包含 site.css

我重建了项目,清除了缓存等,所以它肯定看到了变化。我记得最近更新了一些 NuGet 包或 VS 包或其他东西 - 甚至可能是 MVC 包?

我的问题是:是否发生了某些变化导致了这种情况发生?这是什么原因造成的?

编辑:来自 BundleConfig.cs 的代码:

public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/site.css",
"~/Content/themes/kendo/kendo.common.min.css",
"~/Content/themes/kendo/kendo.default.min.css",
"~/Content/themes/base/minified/jquery.ui.core.min.css",
"~/Content/themes/base/minified/jquery.ui.resizable.min.css",
"~/Content/themes/base/minified/jquery.ui.selectable.min.css",
"~/Content/themes/base/minified/jquery.ui.accordion.min.css",
"~/Content/themes/base/minified/jquery.ui.autocomplete.min.css",
"~/Content/themes/base/minified/jquery.ui.button.min.css",
"~/Content/themes/base/minified/jquery.ui.dialog.min.css",
"~/Content/themes/base/minified/jquery.ui.slider.min.css",
"~/Content/themes/base/minified/jquery.ui.tabs.min.css",
"~/Content/themes/base/minified/jquery.ui.datepicker.min.css",
"~/Content/themes/base/minified/jquery.ui.progressbar.min.css",
"~/Content/themes/base/minified/jquery.ui.theme.min.css"));
}

来自_Layout.cshtml的代码:

@Styles.Render("~/Content/themes/base/css", "~/Content/css")

最佳答案

默认情况下,名称以“.min.css”结尾的文件将仅包含在发布版本中。

建议的捆绑配置是仅包含未缩小的 .css 和 .js 文件,然后在发布版本中将自动选择 .min 版本(如果存在),即 <compilation debug="false">在您的Web.config中。

您可以通过清除忽略规则然后将其添加到 BundleCollection.IgnoreList 来控制此行为。 。一个例子BundleConfig可能看起来像这样:

public static class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
ConfigureIgnoreList(bundles.IgnoreList);

// Setup your bundles...
}

public static void ConfigureIgnoreList(IgnoreList ignoreList)
{
if (ignoreList == null) throw new ArgumentNullException("ignoreList");

ignoreList.Clear(); // Clear the list, then add the new patterns.

ignoreList.Ignore("*.intellisense.js");
ignoreList.Ignore("*-vsdoc.js");
ignoreList.Ignore("*.debug.js", OptimizationMode.WhenEnabled);
// ignoreList.Ignore("*.min.js", OptimizationMode.WhenDisabled);
ignoreList.Ignore("*.min.css", OptimizationMode.WhenDisabled);
}
}

您还可以通过设置 BundleTable.EnableOptimizations 显式启用/禁用优化.

关于asp.net-mvc - ASP.Net MVC 样式 bundle 不包含大多数文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14965301/

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