C# 如果未将EnableOptimization设置为true,则JS捆绑包不会呈现
我不知道我是否做错了什么,但这可能是MVC4中的一个bug。我想知道我怎样才能解决这个问题 工作场景C# 如果未将EnableOptimization设置为true,则JS捆绑包不会呈现,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我不知道我是否做错了什么,但这可能是MVC4中的一个bug。我想知道我怎样才能解决这个问题 工作场景 @Scripts.Render(“~/js”) 转换为(例如,它可以工作!) 没有那么多工作场景 @Scripts.Render(“~/js”) 转换为(例如,它不工作!) (没有,两个空的分隔行)如果我的理解是正确的,您应该使用“non-min”JavaScript文件定义包。当您启用优化时,它会为您将非min文件替换为min文件: public class BundleConfig
@Scripts.Render(“~/js”)
转换为(例如,它可以工作!)
没有那么多工作场景
@Scripts.Render(“~/js”)
转换为(例如,它不工作!)
(没有,两个空的分隔行)
如果我的理解是正确的,您应该使用“non-min”JavaScript文件定义包。当您启用优化时,它会为您将非min文件替换为min文件:
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
ScriptBundle scriptBundle = new ScriptBundle("~/js");
string[] scriptArray =
{
"~/content/plugins/jquery/jquery-1.8.2.js",
"~/content/plugins/jquery/jquery-ui-1.9.0.js",
"~/content/plugins/jquery/jquery.validate.js",
"~/content/plugins/jquery/jquery.validate.unobtrusive.js",
"~/content/plugins/bootstrap/js/bootstrap.js",
};
scriptBundle.Include(scriptArray);
scriptBundle.IncludeDirectory("~/content/js", "*.js");
bundles.Add(scriptBundle);
}
}
调试时,优化设置为false,但在发布模式下默认为true。是的,它不能正确处理*.min.js等文件 “如果您向包中添加一个名称以.min.js结尾的文件 (就像我做的那样)并且没有启用优化(例如,debug设置为 在web.config和BundleTable.EnableOptimizations中为true,但尚未进行优化 设置为true),将忽略此文件(即不包含任何脚本) 在您的html中为其生成 在这里,您可以阅读完整的原始响应:
是的,但它们无论如何都不会显示,您认为它不会显示它们,只是因为它们的文件名中有“min”一词吗?那太无聊了。你试过了吗?如果我将
.min
添加到文件名并关闭优化,则不会得到任何脚本。是的,您是正确的。当我的文件名中没有min
时,它可以工作。谢谢:)您可以将.min文件留在那里,但一定要添加bundles.IgnoreList.Clear()代码>否则它们将被忽略。@JonathanStrate,我这样做了-bundles.Add(新样式bundle(“~/content/admin”)。IncludeDirectory(“~/content/css”,“*.min.css”)代码>BundleTable.EnableOptimizations=false;bundles.IgnoreList.Clear()代码>但仍未加载CSS。
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
ScriptBundle scriptBundle = new ScriptBundle("~/js");
string[] scriptArray =
{
"~/content/plugins/jquery/jquery-1.8.2.min.js",
"~/content/plugins/jquery/jquery-ui-1.9.0.min.js",
"~/content/plugins/jquery/jquery.validate.min.js",
"~/content/plugins/jquery/jquery.validate.unobtrusive.min.js",
"~/content/plugins/bootstrap/js/bootstrap.min.js",
};
scriptBundle.Include(scriptArray);
scriptBundle.IncludeDirectory("~/content/js", "*.js");
bundles.Add(scriptBundle);
// BundleTable.EnableOptimizations = true; // I could set it to 'false' for same result, it's false by default
}
}
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
ScriptBundle scriptBundle = new ScriptBundle("~/js");
string[] scriptArray =
{
"~/content/plugins/jquery/jquery-1.8.2.js",
"~/content/plugins/jquery/jquery-ui-1.9.0.js",
"~/content/plugins/jquery/jquery.validate.js",
"~/content/plugins/jquery/jquery.validate.unobtrusive.js",
"~/content/plugins/bootstrap/js/bootstrap.js",
};
scriptBundle.Include(scriptArray);
scriptBundle.IncludeDirectory("~/content/js", "*.js");
bundles.Add(scriptBundle);
}
}