Asp.Net MVC 4 Bundle 묶음 압축 기술 에 대한 소개
5134 단어 Asp.NetMVC4Bundle 묶음 압축 기술
많은 큰 사이트 들 이 Bundle 기술 로 많은 자원 낭비 와 성능 의 희생 을 초래 하지 않 았 습 니 다.무시 하지 마 세 요.사용 하면 그의 장점 을 발견 할 수 있 습 니 다.
여러 요청 을 하나의 요청 으로 묶 어 서버 요청 수 를 줄 입 니 다.
Bundle 기술 을 사용 하지 않 았 습 니 다.debug 에서 보 이 는 것 은 실제 요청 수 와 경로 입 니 다.
Bundle 기술 을 사용 하고 캐 시 기능 디 버 깅 을 Release 모드 로 설정 하고 F5 를 누 르 거나 웹 config 를 수정 하면 통합 과 압축 효 과 를 볼 수 있 습 니 다.
javascript,css 등 자원 파일 을 압축 하여 네트워크 대역 폭 을 줄 이 고 성능 을 향상 시 킵 니 다.
배경 설정
MVC 4 는 구조 적 으로 변동 이 있어 서 원래 의 Global.aax 를 간소화 하고 정적 인 설정 파일 을 App 에 추가 했다.Start 아래,BundleConfig.cs 를 유의 하 세 요.말 그대로 Bundle 의 설정 입 니 다.모든 설정 을 여기에서 진행 하면 됩 니 다.물론 별도의 설정 파일 도 가능 합 니 다
public class BundleConfig { // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725 public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new ScriptBundle("~/bundles/jquery").Include( "~/Scripts/jquery-{version}.js")); bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include( "~/Scripts/jquery-ui-{version}.js")); bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include( "~/Scripts/jquery.unobtrusive*", "~/Scripts/jquery.validate*")); // Use the development version of Modernizr to develop with and learn from. Then, when you're // ready for production, use the build tool at http://modernizr.com to pick only the tests you need. bundles.Add(new ScriptBundle("~/bundles/modernizr").Include( "~/Scripts/modernizr-*")); bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css")); bundles.Add(new StyleBundle("~/Content/themes/base/css").Include( "~/Content/themes/base/jquery.ui.core.css", "~/Content/themes/base/jquery.ui.resizable.css", "~/Content/themes/base/jquery.ui.selectable.css", "~/Content/themes/base/jquery.ui.accordion.css", "~/Content/themes/base/jquery.ui.autocomplete.css", "~/Content/themes/base/jquery.ui.button.css", "~/Content/themes/base/jquery.ui.dialog.css", "~/Content/themes/base/jquery.ui.slider.css", "~/Content/themes/base/jquery.ui.tabs.css", "~/Content/themes/base/jquery.ui.datepicker.css", "~/Content/themes/base/jquery.ui.progressbar.css", "~/Content/themes/base/jquery.ui.theme.css")); } }
여기 서 여러분 은 모듈 화 에 따라 설정 할 수 있 습 니 다.우리 가 본 아래 의 Url 은 위의 bundles.Add(...)에 추 가 된 js,css 의 virtual Path 입 니 다.
주의해 야 할 것 은 서로 다른 virtualPath 에 추 가 된 같은 자원 파일 입 니 다.중복 불 러 옵 니 다!
프론트 데스크 호출
공공 자원 파일 에 대해 우 리 는 보통Layout.cshtml(webform 의 모판 페이지)파일 중 스 크 립 트 파일 참조:@Scripts.Render(virtualPath[,virtualPath 1][,virtualPath 2][,...]) CSS 파일 참조: @Styles.Render(virtualPath[,virtualPath1][,virtualPath2][,...])
@Styles.Render("~/Content/css") @Styles.Render("~/Content/themes/base/css")
...@Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/jqueryui") @RenderSection("scripts", required: false)
정규 일치 필요 한 필터 필요 하지 않 은
bundles.IgnoreList.Clear(); bundles.IgnoreList.Ignore("*.debug.js"); bundles.IgnoreList.Ignore("*.min.js"); bundles.IgnoreList.Ignore("*-vsdoc.js"); bundles.IgnoreList.Ignore("*intellisense.js"); bundles.Add(new ScriptBundle("~/bundles/jquery", jqueryCdn).Include( "~/Scripts/jquery-{version}.js")); // jquery bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include( "~/Scripts/jquery.unobtrusive*", // jquery.unobtrusive "~/Scripts/jquery.validate*")); ...
CDN 사용 하기 bundles.UseCdn = true; // CDN string jqueryCdn = "http:deom.jb51.net/jslib/jquery/jquery-1.7.1.min.js"; bundles.Add(new ScriptBundle("~/bundles/jquery", jqueryCdn).Include( "~/Scripts/jquery-{version}.js"));
cdn 서버 가 끊 기거 나 접근 할 수 없 을 때 이곳 은 로 컬 자원 파일 을 선택 합 니 다.debug 에서 뮤 직 비디오 를 보면 원래 의 가면 을 볼 수 있 습 니 다.이것 은 우리 가 디 버 깅 하 는 데 매우 좋 습 니 다. 이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
easyui 내 보 내기 excel 다운로드 상 자 를 꺼 낼 수 없 는 해결 방법이전에 ajax 로 만 든 코드 는 다음 과 같 습 니 다 (ActionUrl 은 일반 처리 프로그램 ashx 의 경로 입 니 다). 다운로드 상 자 를 팝 업 할 수 없습니다. 직접 브 라 우 저 주소 표시 줄 에...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.