我在使用 ASP .NET 进行脚本捆绑和缩小时遇到问题 我已经尝试了互联网上找到的所有流行解决方案,但仍然遇到同样的问题。
我的BundleConfig.cs
看起来像
namespace MYPROJ{
public class BundleConfig
{
public static void AddDefaultIgnorePatterns(IgnoreList ignoreList)
{
if (ignoreList == null)
return;
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);
}
public static void RegisterBundles(BundleCollection bundles)
{
bundles.IgnoreList.Clear();
AddDefaultIgnorePatterns(bundles.IgnoreList);
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
…
…
//bundles.Add(new ScriptBundle("~/Scripts").Include("~/Scripts/jquery.unobtrusive-ajax.min.js", "~/Scripts/kendoui/kendo.all.min.js", "~/Scripts/kendoui/kendo.combobox.min.js", "~/Scripts/kendoui/kendo.grid.min.js"));
//bundles.Add(new ScriptBundle("~/Scripts").Include("~/Scripts/kendoui/kendo.all.min"));
//bundles.Add(new ScriptBundle("~/Scripts").Include("~/Scripts/kendoui/kendo.combobox.min"));
//bundles.Add(new ScriptBundle("~/Scripts").Include("~/Scripts/kendoui/kendo.grid.min.js"));
bundles.Add(new ScriptBundle("~/Scripts").IncludeDirectory("~/Scripts", "*.js").IncludeDirectory("~/Scripts/kendoui", "*.js"));
……
BundleTable.EnableOptimizations = true;
}
}
}
在主视图中:
@Scripts.Render("~/Scripts")
现在,当我运行这一切之后,我得到了这个标签:
<script src="/Scripts?v=ZnxC8dcoc3fJ-hfKQHLiTe19PjJFHwPhwHPUncuBtzE1"></script>
使用 chrome 代码检查器后,我发现上述资源的状态代码是 Status Code: 302 Found
对于 Scripts/
来说,它是 Status代码:404 未找到
而且我也无法通过在查看源中单击脚本文件来访问它,因此看起来没有加载任何内容,但所有文件和目录都正确放置。 仅供引用,我的 styleSheets 捆绑工作正常。
请帮忙谢谢。
最佳答案
您不能为您的包指定一个与现有目录名称相同的名称。重命名该包或添加 /js
以使其正常工作:
bundles.Add(new ScriptBundle("~/Scripts/js").IncludeDirectory("~/Scripts", "*.js").IncludeDirectory("~/Scripts/kendoui", "*.js"));
和
@Scripts.Render("~/Scripts/js")
任何不存在的其他名称也可以使用,例如
bundles.Add(new ScriptBundle("~/ScriptMonkey").IncludeDirectory("~/Scripts", "*.js").IncludeDirectory("~/Scripts/kendoui", "*.js"));
...假设您没有 /ScriptMonkey
目录。
关于razor - 捆绑脚本未渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15540528/