답변

31
  • 오른쪽 클릭 참조는 NuGet 패키지 관리 및 "Microsoft.AspNet.Web.Optimization"를 추가 (또는 NuGet 콘솔에 Install-Package Microsoft.AspNet.Web.Optimization을 입력합니다).
  • Web.config 파일에서 다음을 <system.webServer>에 추가하면 축소 된 번들이 확장되지 않는 URL로 제공됩니다. 당신의 App_Start 폴더에서
    <handlers> 
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> 
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> 
    <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
    <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> 
    <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> 
    <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 
    </handlers> 
    
  • 는, 새로운 클래스를 호출 BundleConfig.cs를 추가합니다. : 스크립트와 스타일 시트 번들은 다음 Global.asax.cs에서 사용 섹션 위해 Application_Start에 다음 줄을 추가 할 필요를 추가 할
using System.Web; 
using System.Web.Optimization; 

namespace MvcApplication1 
{ 
    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")); 
     } 
    } 
} 
  • 편집 위 : 그것은 다음과 같이 보일한다
//using section 
using System.Web.Optimization; 

//Application_Start 
BundleConfig.RegisterBundles(BundleTable.Bundles); 
  • @Styles.Render("~/Content/css")@Scripts.Render("~/bundles/jquery"), 일 교체에 전화로 _Layout.cshtml에 CSS와 자바 스크립트 및 태그를 교체 BundleConfig.cs에 추가 한 번들의 이름으로 매개 변수를 설정하십시오. 번들의 이름을 프로젝트의 폴더와 동일하게 지정하지 마십시오.

이제 모든 설정해야합니다 - 전체 여기 된 형상 사용하는 방법에 읽어 : http://www.asp.net/mvc/overview/performance/bundling-and-minification

0

예는 다음 단계가 번들로 따라 작게하다 JS 및 CSS :

  • 먼저 오픈 패키지 관리자 콘솔을 열고 명령을 실행하고 웹 응용 프로그램을 프로젝트로 선택하십시오.

설치 패키지 Microsoft.AspNet.Web.Optimization

  • 이동 붙여 넣기 아래의 코드를 마우스 오른쪽 버튼으로 클릭하고보기 코드

  • 을 Global.asax에하기 :

    public static void MinifyJavaScriptAndCSS() 
    { 
        var scripts1 = new ScriptBundle("~/bundles/customJSBundle"); 
        scripts1.Include("~/Scripts/script1.js"); 
        scripts1.Include("~/Scripts/script2.js"); 
        BundleTable.Bundles.Add(scripts1); 
    
        //Bundle Css 
        var css1 = new StyleBundle("~/bundles/customCSSBundle"); 
        css1.Include("~/Styles/style1.css"); 
        css1.Include("~/Styles/style2.css"); 
        BundleTable.Bundles.Add(css1); 
    } 
    
  • 이것을 Application_Start()에서 호출

    내 ASP.NET 응용 프로그램 @Styles -
    protected void Application_Start() 
    { 
        ApplicationHelper.MinifyJavaScript(); 
    } 
    
  • 이동는

  • 이 ViewBag.Title @ 머리

    에 줄을 추가 공유/조회에서 _Layout.cshtml합니다.당신이 컴파일 디버그 = true를 설정 한 경우의 Web.config에서 body 태그

    //your code 
        @Scripts.Render("~/bundles/customJSBundle") 
    </body> 
    
  • 의 폐쇄하기 전에 ("~/번들/customCSSBundle")

  • 이 추가 렌더링, 파일은 번들로 제공되지 않습니다. false로 설정하면 파일이 번들됩니다.