2013-02-18 3 views
0

MVC4 C#을 웹 사이트를 작게를 할 수없는 요청 "BundleConfig"파일의 코드가있다 :디버그 모드에서 실행되는 자바 스크립트를

의 Web.config에서
public static void RegisterBundles(BundleCollection bundles) 
{ 
    bundles.Add(new ScriptBundle("~/bundles/scripts").Include(
       "~/Scripts/jquery-1.8.2.min.js", 
       "~/Scripts/jquery.simplemodal.js", 
       "~/Scripts/jquery-ui-1.9.2.custom.min.js", 
       "~/Scripts/jquery.validate.js", 
       "~/Scripts/jquery.validate.unobtrusive.min.js", 
       "~/Scripts/site.js", 
       "~/Scripts/jquery.watermark.js", 
       "~/Scripts/jquery.signalR-0.5.3.min.js" , 
       "~/Scripts/jquery.dataTables.js" 

, debug="true"

나는 불을 지르고를 열고 참조 "net -> js"탭 섹션에서는 js를 최소화하지 않는 호출 만 수행됩니다. 모든 minify js 파일은 클라이언트에서 요청되지 않습니다. 내 레이아웃에서

내 코드입니다 : 내가 nuget ...에서 "Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0"패키지를 설치 한 후 나는 웹 사이트를 실행할 때

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

문제는 시작 릴리스 모드에서는 모두 작동합니다. 미니 파일이 아닌 js 파일이 있고 디버그 모드에서 계속 작업하고 싶습니다. 어떻게 해결할 수 있습니까? 왜 클라이언트에서 js를 최소화하라는 요청이 발생하지 않습니까?

답변

1

디버그 모드에서 번들 및 축소를 사용하면 번들/축소가 비활성화됩니다.

RegisterBundlesBundleTable.EnableOptimizations = true;을 추가하면이 설정을 무시하고 번들 및 축소를 강제 수행 할 수 있습니다.

public static void RegisterBundles(BundleCollection bundles) 
{ 
    //your bundle code 
    BundleTable.EnableOptimizations = true; 
} 

UPDATE :은 당신의 코멘트를보고 내가이 질문을 오해 보인다.

디버그 모드에서 BundleTable.EnableOptimizations = false 일 때 파일의 .min 버전은 이 아니며이 사용됩니다. 대신 전체 디버그 버전 파일이 사용됩니다. 그래서 스크립트 폴더는 파일의 두 버전이 있어야합니다 디버그 모드에서

jquery-1.9.1.min.js 
jquery-1.9.1.js 

처럼 jquery-1.9.1.js이 사용됩니다. 해제 모드에서 jquery-1.9.1.min.js이 사용됩니다.

파일 버전이 하나 뿐인 경우 파일 이름에서 ".min"을 제거하면됩니다.

+0

이렇게하면 모든 파일이 축소됩니다 ... 나는 방화 광에서 다른 파일도 볼 수 있기를 원합니다. –

+0

하지만 "최소"버전에서만 일부 파일이 있습니다. 디버그 모드로도 제공되기를 바랍니다. 그것은 모바일에서 내 사이트 작업을하기 위해 nuget에서 디스플레이 모드 패키지를 다운로드하기 전까지 작동했습니다. –

+0

@HaddarMacdasi 답변을 업데이트했습니다. 바라기를 이것은 상황을 분명히합니다. – MikeSmithDev