如何

@Scripts.Render("~/bundles/jquery")

不同于像这样从HTML中引用脚本

<script src="~/bundles/jquery.js" type="text/javascript"></script>

是否有性能提升?


捆绑是指将多个JavaScript或样式表文件压缩成一个文件,而不进行任何格式化(也称为最小化),以节省带宽和加载页面的请求数量。

例如,你可以创建自己的bundle:

bundles.Add(New ScriptBundle("~/bundles/mybundle").Include(
            "~/Resources/Core/Javascripts/jquery-1.7.1.min.js",
            "~/Resources/Core/Javascripts/jquery-ui-1.8.16.min.js",
            "~/Resources/Core/Javascripts/jquery.validate.min.js",
            "~/Resources/Core/Javascripts/jquery.validate.unobtrusive.min.js",
            "~/Resources/Core/Javascripts/jquery.unobtrusive-ajax.min.js",
            "~/Resources/Core/Javascripts/jquery-ui-timepicker-addon.js"))

然后渲染成这样:

@Scripts.Render("~/bundles/mybundle")

@Scripts.Render("~/bundles/mybundle")相对于原生的<script src="~/bundles/mybundle" />的另一个优点是@Scripts.Render()将尊重web。配置调试设置:

  <system.web>
    <compilation debug="true|false" />

如果debug="true",则它将为每个源脚本呈现单独的脚本标记,而不进行任何缩小。

对于样式表,你必须使用StyleBundle和@Styles.Render()。

不是用单个请求(使用脚本或链接标记)加载每个脚本或样式,而是将所有文件压缩成单个JavaScript或样式表文件并一起加载。


你还可以使用:

@Scripts.RenderFormat("<script type=\"text/javascript\" src=\"{0}\"></script>", "~/bundles/mybundle")

在需要使用字符集、类型等的场景中指定输出的格式。