我正在设计一个非常大的应用程序,我想为未来打造良好的基础设施。
在Razor(MVC)中,可以通过使用函数@Scripts.Render("~/Scripts/myscript.js")
在视图中包含javascript文件,方法是在BundleConfig.cs中定义BundleCollection中指定特定文件或bundle项。
我想知道,在仅仅单个文件的Scripts.Render函数中定义一个bundle项是否有任何附加值,而不是指定脚本文件本身?
我发现的一个附加价值是,从长远来看,我将能够根据需要向捆绑添加更多文件,而无需更改使用它的视图,我将享受优化。但是当我仍在“捆绑”中使用一个js文件时,我无法找到附加值。
答案 0 :(得分:2)
除了你提到的那个之外,还有一些好处:
<script src="/bundles/myscript.js?v=CQJxkNd9QnrvutTyUG9mM-vD0FrbCc1"></script>
。每次发布新版本后,您的客户都会感谢您。而且 - 如果您直接引用该文件,除非您手动生成并附加版本,否则它不会发生。所以我通常做的事情,并且我认为这是一个很好的做法,直到我被证明是错误的,我为每个页面特定的需求创建了一个包,即使它包含一个带有一个小模块的单个js文件。例如主页:
bundles.Add(new ScriptBundle("~/bundles/home").Include("~/Scripts/home.js"));
@Scripts.Render("~/bundles/home")