Asp.net mvc 向BundleCollection添加一个脚本文件是否有任何价值?

Asp.net mvc 向BundleCollection添加一个脚本文件是否有任何价值?,asp.net-mvc,razor,Asp.net Mvc,Razor,我现在正在设计一个非常大的应用程序,我想为未来做好基础设施 在Razor(MVC)中,可以使用函数@Scripts.Render(“~/Scripts/myscript.js”)在视图中包含javascript文件,方法是指定BundleCollection中的特定文件或BundleConfig.cs中定义的捆绑包项 我想知道,在脚本中定义捆绑项是否有任何附加值。只渲染单个文件的函数,而不是指定脚本文件本身 我发现的一个附加值是,从长远来看,我将能够根据需要向捆绑包添加更多文件,而无需更改使用它

我现在正在设计一个非常大的应用程序,我想为未来做好基础设施

在Razor(MVC)中,可以使用函数
@Scripts.Render(“~/Scripts/myscript.js”)
在视图中包含javascript文件,方法是指定BundleCollection中的特定文件或BundleConfig.cs中定义的捆绑包项

我想知道,在脚本中定义捆绑项是否有任何附加值。只渲染单个文件的函数,而不是指定脚本文件本身


我发现的一个附加值是,从长远来看,我将能够根据需要向捆绑包添加更多文件,而无需更改使用它的视图,我将享受优化。但是,当我还在“bundle”中使用一个js文件时,我找不到它的附加值。

除了您提到的好处之外,还有一些好处:

  • 捆绑包在发布模式下缩小。将文件添加到捆绑包(即使是单个文件)并在视图中引用捆绑包时,代码将缩小。当您直接引用该文件时,情况并非如此。这很可能就是你在制作中想要的
  • 该框架在捆绑包的每个新版本中生成并向脚本追加一个随机哈希,以使以前捆绑包的缓存无效。它看起来像这样。每次发布新版本后,您的客户都会为此感谢您。同样,如果您直接引用文件,则不会发生这种情况,除非您手动生成并附加版本
  • 我通常这样做,我认为这是一个很好的实践,直到我被证明是错误的,我为每个页面特定的需求创建了一个包,即使它包含一个带有一个小模块的单个JS文件。例如主页:

    bundles.Add(新脚本包(“~/bundles/home”)。包括(“~/Scripts/home.js”)
    
    @Scripts.Render(“~/bundles/home”)