[asp.net-mvc-4] @ Scripts.Render (“~ / bundles / jquery”)를 사용해야하는 이유

어떻게

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

이처럼 HTML에서 스크립트를 참조하는 것과 다릅니다.

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

성능 향상이 있습니까?



답변

번들링은 페이지를로드하기위한 대역폭과 요청 수를 저장하기 위해 형식을 지정하지 않은 여러 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 또는 스타일 시트 파일로 압축되어 함께로드됩니다.


답변

다음을 사용할 수도 있습니다.

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

Charset, Type 등을 사용해야하는 시나리오에서 출력 형식을 지정하려면


답변