在非SPA ASP.NET MVC应用程序中捆绑和缩小

时间:2016-08-20 06:58:42

标签: asp.net-mvc requirejs webpack

我即将开始研究非SPA ASP.NET MVC应用程序,我想知道捆绑和缩小的最佳实践是什么。

我一直在使用webpack作出反应,但这似乎不适合非SPA网站,或者这是否合适?

我过去曾使用过requirejs,我使用data-main属性为当前视图指定了一个文件,但是我不确定这对于我们可能只有的缩小代码是如何工作的1档。

我知道.NET有自己的ScriptBundler,但这仍然是支持的,我应该使用gulp吗?

1 个答案:

答案 0 :(得分:1)

如果您使用的是ASP.NET MVC 5或更低版本,那么您可以使用gulp和脚本/样式捆绑器。

例如,您可以使用gulp进行缩小并使用脚本/样式捆绑来完成剩下的工作。这样,您可以在开发期间使用非缩小的脚本和样式(调试模式),而只在发布模式下使用缩小和捆绑的脚本。

根据您的要求,您可以制作多个捆绑包并将其添加到您的视图中。性能方面,我建议你每页使用2个bundle:1个脚本包(在关闭的body标签附近)和1个样式包(在head部分)。不要忘记常见的脚本和样式:可以在_Layout局部视图中找到它们。因此,每页每种类型最终会有2个捆绑包。

我将这种方法用于我自己的项目。但是,对于ASP.NET Core应用程序,您应该只考虑使用gulp。据我所知,正如我们在ASP.NET MVC 5应用程序中所知,捆绑没有真正的替代品,它的工作方式略有不同。但是如果你已经使用gulp,那么迁移到asp.net核心就不会有大问题(我猜你会在某些时候)。