在cshtml中有多个js引用正在减慢页面速度?

时间:2018-08-14 08:10:33

标签: javascript razor

在我的MVC视图(cshtml)中,我创建了一个不同的js文件以用于不同的用途,我只是在cshtml中调用它们,我认为这是从视图中分离js逻辑的好方法,因此在我的视图中有10个js引用为了达到不同的目的和用途,我在某处阅读了这种引用方式,增加了服务器的访问次数,并减慢了页面加载时间,同时,如果我想在视图中编写所有js,它将变成不可读且凌乱,我该怎么办?我是所有这些的新手,谢谢您的提前

1 个答案:

答案 0 :(得分:1)

自ASP.NET 4.5起,您可以捆绑所有CSS和javascript文件。

这会将您所有的JavaScript文件(也包括CSS)合并到最小的脚本文件中。

如果您有10个js文件,则可以将它们优化为一个js文件。此文档对其进行了更好的解释link

这是一个基本示例。

在App_Start文件夹中,它们是BundleConfig.cs

public static void RegisterBundles(BundleCollection bundles)

{
  bundles.Add(new ScriptBundle("~/HomePage/js").Include("~/Home/index.js", 
               "~/Home/loading.js")
            );
  bundles.Add(new StyleBundle("~/Content/css").Include(
                  "~/Content/bootstrap.min.css",
                  "~/Content/site.css"));
}

确保您的webconfig具有调试功能,将其关闭后再重新投入生产环境

<system.web>
   <compilation debug="false" />

</system.web>

只需将以下内容添加到您的页面

@Scripts.Render("~/HomePage/js")
@Styles.Render("~/Content/css")