将_Layout.cshtml中的所有脚本作为一个包加载?

时间:2016-08-31 14:22:39

标签: javascript html asp.net-mvc model-view-controller

我正在使用基于MVC模式的C#,HTML和JavaScript代码编写Web工具,我想知道在中加载所有需要的脚本是否聪明(页面加载时间,流量等) _Layout.cshtml

将所有脚本捆绑在一起并将它们加载到 _Layout.cshtml 的head部分中是否有区别,或者在需要时将它们加载到实际视图中?

这件事有最好的做法吗?

2 个答案:

答案 0 :(得分:2)

最好的策略是“加载你真正需要的东西"”。您应该在一侧捆绑所有共享脚本和样式并在布局上加载它们,然后为每个视图创建单独的包,以仅加载将在该特定页面上使用的内容。

不同之处在于您需要更多的捆绑配置(因为每个视图都有一个捆绑包),但是恕我直言,您将在更好的代码组织中获得更多,并避免下载不必要的文件。

当然,这完全取决于您正在开发的应用程序类型。但是如果你在一个捆绑包中并且项目变得更大,那么以后更改策略将非常困难,因为你需要检查每个视图的所有依赖关系。

就页面加载/流量而言,很明显这种策略更好,因为客户端只会下载所需的文件。

答案 1 :(得分:-1)

您可以在像这样的视图中加载脚本包

@section scripts {
    @Scripts.Render("~/bundles/movie")  
}