如何轻松地在视图页面的脚本块中缩小JavaScript?
我有一些页面特定的脚本,希望放在特定的视图页面上。但ASP.NET MVC4捆绑和缩小仅适用于脚本文件,而不适用于视图页面中的脚本代码。
UPDATE
我接受了Sohnee的建议,将脚本解压缩到文件中。但我需要在特定的页面上使用它们,所以我最终做的是:
在布局页面上,我为页面特定的javascript块创建了一个可选部分:
@RenderSection("js",required: false) </body>
然后在视图页面中,让我们说Index.cshtml,我渲染脚本部分如下:
@section js{ @Scripts.Render("~/bundles/js/" + Path.GetFileNameWithoutExtension(this.VirtualPath)) }
如您所见,它假设javascript文件名(index.js)与视图页面名称(index.cshtml)相同。然后在捆绑配置中,我有:
var jsFiles = Directory.GetFiles(HttpContext.Current.Server.MapPath("Scripts/Pages"),"*.js"); foreach (var jsFile in jsFiles) { var bundleName = Path.GetFileNameWithoutExtension(jsFile); bundles.Add(new ScriptBundle("~/bundles/js/" + bundleName).Include( "~/Scripts/pages/" + Path.GetFileName(jsFile))); }
<script src="/bundles/js/Index?v=ydlmxiUb9gTRm508o0SaIcc8LJwGpVk-V9iUQwxZGCg1"></script> </body>
<script src="/bundles/js/Products?v=ydlmxiUb9gTRm508o0SaIcc8LJwGpVk-V9iUQwxZGCg1"></script> </body>