문제

새로운 ASP.NET MVC 모델에 ScriptManager 기능 중 일부를 원합니다.

1- 스크립트 결합
2- 외부 JavaScript 파일의 다른 경로 해결
3- 압축을 조정하고 gzip

여기 내가 찾은 것이지만 MVC 접근법의 가장 좋은 방법은 확실하지 않습니다. 일반적으로 MVC 모델에서 JavaScript 코드를 다루는 좋은 접근법은 무엇입니까?

도움이 되었습니까?

해결책

압축 된 JS 파일의 다른 조합을 제공하는 다른 동작을 갖춘 새로운 '스크립트'컨트롤러를 만들 수 있습니다. MVC는 리소스 지향적 접근 방식으로 설계되었으므로 IE URL은 이제 프로그래밍 모델의 중심에 있습니다. JavaScript에 대한 간단한 URI를 정의하지 않겠습니까?

예를 들어, 귀하의 견해에서 다음과 같은 파일을 참조 할 수 있습니다.

<script src="http://your_domain/scripts/all"/>

이렇게하면 '모든'조치를 취하여 압축 된 모든 스크립트 파일이 전송됩니다.

물론 지금은 결합 및 압축을 코딩해야하거나 내부적으로 ScriptManager를 재사용해야 할 수도 있습니다. 가능한지 모르겠습니다.

이것은 단지 아이디어 일뿐입니다. 현재는 마스터 페이지에서 직접 개별 JavaScript 파일을 참조하고 있습니다.

다른 팁

이 시도:http://www.codeplex.com/mvcscriptmanager

MVCScriptManager는 ajaxcontroltoolkit의 ToolkitscriptManager에서 사용 가능한 특정 주요 기능을 현재 ASP.NET MVC 프레임 워크로 포트 할 것을 목표로합니다. ASP.NET MVC 응용 프로그램에서 컨트롤로 사용할 수 있습니다.

특징

  1. 스크립트 조합 (또는 연결). MVCScriptManager로 선언 된 스크립트는 페이지가 렌더링되면 단일 스크립트 파일 요청으로 즉시 결합됩니다.
  2. 릴리스 모드에서 스크립트 미니 화 (또는 크 런칭). 미니 화 과정은 특정 스크립트를 참조하는 첫 번째 요청에서 한 번만 수행됩니다. 후속 요청은 캐시에서 위기 스크립트 내용을 사용합니다 (자세한 내용은 #5 참조). 각 스크립트에 대해 크런치를 활성화/비활성화 할 수 있습니다.
  3. 독립형 스크립트 파일의 현지 리소스를 렌더링하십시오. 지정된 경우 로컬 문자열이 스크립트에 추가됩니다.
  4. 스크립트를 출력 할 때 구성 가능한 HTTP 압축 및 만료 설정을 지원합니다.
  5. 파일 종속성이있는 스크립트 캐싱. 스크립트 파일 컨텐츠가 캐시되어 렌더링 결합 된 스크립트 파일이 훨씬 더 성능이 향상됩니다. 캐시 종속성은 실제 파일에 연결되므로 파일 시스템의 모든 스크립트 업데이트가 캐시에 즉시 반영됩니다.
  6. 실행중인 환경을 기반으로 디버그/릴리스 모드에서 렌더링 스크립트를 지원합니다.
  7. 독립형 스크립트 파일의 다른 경로를 해결합니다.
  8. 단일 페이지 (또는 마스터 페이지)에서 여러 MVCScriptManagers를 지원합니다. 한 ScriptManager로 선언 된 스크립트를 다른 스크립트 관리자로 롤링 할 수 있도록 마스터 및 슬레이브 렌더링 모드를 모두 지원하십시오.
  9. 웹 팜 시나리오 지원 ...

또는 스크립트 관리자 자체를 독방의 유일한 주민으로 포함시키는 것은 어떻습니까? <form runat="server"> ?

이와 같이:-

   <form runat="server">
      <asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="true">
      </asp:ScriptManager>
    </form>

나를 위해 일합니다.

추신 :이 양식 태그가 다른 형태에 포함되지 않도록해야합니다. 중첩 된 형태는 작동하지 않습니다.

이 연구가 거의 같은 문제를 발견했습니다. ASP.NET MVC의 간단한 스크립트 관리자 -이 질문 이후에 작성된 후에는 참조를 위해 추가되었습니다.

첫 번째 경우에 나는 Brute Force 솔루션을 사용하여 마스터 페이지에 모든 것을 고수합니다 (특히 Microsoft CDN에서 jQuery를 가져올 수 있으므로) -보다 최적의 솔루션에 대한 옵션을 조사 할 것입니다.

MVC 4에는 이제 번들링 및 미니 화 도우미가 포함됩니다. 번들에 들어가는 모든 스크립트를 정의하고 MVC는 번들링, 압축, 캐시 파열 등을 관리합니다.

http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top