如何
@Scripts.Render("~/bundles/jquery")
不同于仅仅引用html这样的脚本
<script src="~/bundles/jquery.js" type="text/javascript"></script>
是否有任何性能提升?
答案 0 :(得分:280)
捆绑就是将多个JavaScript或样式表文件压缩成单个文件,而无需任何格式化(也称为缩小),以节省带宽和加载页面的请求数。
例如,您可以创建自己的包:
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.config
调试设置:
<system.web>
<compilation debug="true|false" />
如果debug="true"
那么它将为每个源脚本呈现单独的脚本标记,而不会有任何缩小。
对于样式表,您必须使用StyleBundle和@ Styles.Render()。
不是使用单个请求(使用脚本或链接标记)加载每个脚本或样式,而是将所有文件压缩为单个JavaScript或样式表文件并一起加载。
答案 1 :(得分:50)
您也可以使用:
@Scripts.RenderFormat("<script type=\"text/javascript\" src=\"{0}\"></script>", "~/bundles/mybundle")
在需要使用Charset,Type等的场景中指定输出的格式。