번들러가 .min 파일을 제외하는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-10-19 15:00:04
원래의
282명이 탐색했습니다.

Why is Bundler Excluding .min Files?

.min 파일을 감시하는 번들러

ASP.NET MVC4 번들링의 맥락에서 번들러가 다음과 같은 파일을 제외하는 흥미로운 문제가 발생합니다. .min.js 확장자. 이를 설명하기 위해 다음 BundleConfig 클래스를 고려하십시오.

<code class="c#">public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/Scripts/jquery")
        .Include("~/Scripts/jquery-1.8.0.js")
        .Include("~/Scripts/jquery.tmpl.min.js"));            
}</code>
로그인 후 복사

뷰에서 다음 코드는 번들을 렌더링하는 데 사용됩니다.

<code class="html"><head>
@Scripts.Render("~/Scripts/jquery")
</head>
<body>test</body></code>
로그인 후 복사

그러나 렌더링된 출력에는 다음만 포함됩니다. jquery-1.8.0.js 파일이고 jquery.tmpl.min.js는 생략되었습니다.

원인

이 동작은 번들러 구성 자체에 내재된 것이 아닙니다. 이는 Microsoft.AspNet.Web.Optimization 패키지 버전 1.1.0의 문제와 관련이 있습니다.

솔루션

제공된 원래 솔루션에는 IgnoreList 구성 수정이 포함되었습니다. , 이는 최적화 패키지의 이후 버전에서는 더 이상 적용되지 않습니다. 최신 버전(1.1.3 이상)에서 이 문제가 해결되었습니다.

이 문제를 해결하고 번들링 프로세스에 .min.js 파일을 포함하려면 최신 버전의 Microsoft.AspNet을 사용하고 있는지 확인하세요. .Web.Optimization 패키지.

대체 솔루션(오래됨)

최신 버전의 패키지로 업그레이드할 수 없는 경우 다음 해킹을 고려할 수 있습니다.

  1. BundleConfig 클래스에서 AddDefaultIgnorePatterns 메서드를 재정의하세요.
  2. 다음 줄을 추가하세요.

ignoreList.Ignore("*.min.js", OptimizationMode.WhenEnabled);

이렇게 하면 최적화가 활성화된 경우 번들러가 .min.js 파일을 무시하고 해당 파일을 번들에 효과적으로 포함하도록 지시합니다.

위 내용은 번들러가 .min 파일을 제외하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿