asp.net scriptbundle多个include vs single include

时间:2014-04-21 13:12:53

标签: asp.net bundling-and-minification scriptbundle

捆绑有什么区别:

  bundles.Add(new ScriptBundle("~/bundles/jquery")
  .Include("~/Scripts/jquery-{version}.js","file2.js", "file3.js"));

VS

   bundles.Add(new ScriptBundle("~/bundles/jquery")
                .Include("~/Scripts/jquery-{version}.js")
                .Include("file2.js")
                .Include("file3.js"));

我可以在ONE include方法中放入许多脚本,或者我可以使用很多包含方法。

我什么时候应该使用什么?

3 个答案:

答案 0 :(得分:4)

要么选择很好,它是语法,可读性的选择。 Include("resource1", "resource2", "resourceN")是使用params关键字的Include方法的简单重载。在C#中,params关键字允许可变数量的参数。

Include('Resource1").Include("Resource2").Include("ResourceN")是Include方法的不同签名,它接受一个字符串参数。包括(" resource1")。包含(" resource2")是简单的链接。

两种语法最终都会调用相同的代码来添加"资源"字符串路径。您只是调用Include方法的不同签名/重载定义来传递字符串resouce / js参数。

答案 1 :(得分:1)

没有区别。

在这两种方式中,您都可以创建一个名为“〜/ bundles / jquery”的新ScriptBundle实例,其中包含Scripts文件夹中与通配符字符串“〜/ Scripts / jquery- {version}匹配的所有文件。 js“和”file2.js“,”file3.js“。然后使用ScriptBundle方法将BundleCollection实例添加到名为bundles的{​​{3}}实例。

上面显示的{version}外卡匹配用于在Scripts文件夹中使用相应版本的jQuery自动创建jQuery包。允许您使用NuGet更新到更新的jQuery版本,而无需在视图页面中更改前面的捆绑代码或jQuery引用。


有关详细信息,请参阅Add

答案 2 :(得分:0)

选择基于首选项,因为第一个选项使用Include操作的重载方法,接受多个参数,而第二个选项只是链接值。

非常类似于使用两种编写LINQ查询的方式中的任何一种...都归结为您的偏好。