加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-4 – 如何在视图页面上缩小脚本块内的JavaScript

发布时间:2020-12-16 00:20:21 所属栏目:asp.Net 来源:网络整理
导读:如何轻松地在视图页面的脚本块中缩小JavaScript? 我有一些页面特定的脚本,希望放在特定的视图页面上。但ASP.NET MVC4捆绑和缩小仅适用于脚本文件,而不适用于视图页面中的脚本代码。 UPDATE 我接受了Sohnee的建议,将脚本解压缩到文件中。但我需要在特定的
如何轻松地在视图页面的脚本块中缩小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)));
}

那么,如果你在索引页面上,HTML输出将是:

<script src="/bundles/js/Index?v=ydlmxiUb9gTRm508o0SaIcc8LJwGpVk-V9iUQwxZGCg1"></script>
</body>

如果您在产品页面上,HTML输出将是:

<script src="/bundles/js/Products?v=ydlmxiUb9gTRm508o0SaIcc8LJwGpVk-V9iUQwxZGCg1"></script>
</body>

解决方法

以最小的努力完成此操作的方法是将其提取到脚本文件中。然后您可以根据需要使用捆绑和缩小。

如果你想将其内联缩小,那么只需将脚本移到页外即可。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读