2009-10-24 4 views
4

asp.net MVC에서 jquery/javascript를 별도로 (html) 내 스크립트 (JavaScript)를 유지하는 가장 좋은 방법을 찾으려고 노력 중입니다 ...jquery/javascript를 asp.net MVC 뷰와 별도로 유지 하시겠습니까?

누구든지이 작업을 수행하는 가장 좋은 방법이 있습니까? ? 내가 정말 좋은 일을 과거 JavascriptMVC에서 사용하고 어쩌면 그것의 좋은 생각을 결합하지만, 생각하는 내가되지 않습니다

내 뷰에서 코드 냄새 많이보고 있어요

... .. 정말 몇 가지 아이디어를 사랑하고 멀리 등 뷰에서 스크립트를 유지하는 가장 좋은 방법에 도움이 될 내가 사용하고

을 javascriptmvc 취할 어쩌면이 아니 올바른 방향의보기 부분 ..

를 사용하여 YUI와 jquery와 같은 외부 모듈의 수. 그래서 다른 개념/레이어를 사용해야하는 경우 - 문제가 보이지 않는다.

우리는 (또는하지 않을 수) 마크 업에서 자바 스크립트를 유지하기위한 별도의 철학적 차이가있을 수 있습니다

Thanksa

+1

jscripts를 별도의 폴더에 넣은 후 .master 페이지가 사용자 요구에 맞지 않습니다? –

+0

[이 답변]의 다른 옵션 (http://stackoverflow.com/q/604883/where-to-put-view-specific-javascript-files-in-an-asp-net-mvc-application/6261038 # 6261038). –

답변

8

어떤 도움을 기대. 내 의견으로는, 그것은 마크 업 자체에 내장되어 있지 않은 한 자바 스크립트를 페이지에 가지고있는 것이 좋습니다. 가능하다면 자체 파일에 있어야하지만 뷰 특정 요소를 직접 참조 할 때는 뷰 파일 자체에 포함시키는 편을 선호합니다.

다음은 내가 사용하는 전략입니다.

  1. 플러그인에 대한 리팩토링 공통 코드. 플러그인을 별도의 JS 파일에 넣고 필요한 곳에 포함시킵니다.
  2. 마스터 페이지의 닫는 본문 태그 안에 스크립트 포함 및 코드에 별도의 ContentPlaceHolder (CPH)를 사용하십시오. 이렇게하면 JS가 페이지에서 기능적으로 분리되어 페이지 하단에로드됩니다.
  3. 공통 JS를 마스터 페이지의 스크립트 CPH 바로 위에 삽입하십시오.
  4. 모든 페이지에 공통이지만 마스터 페이지에 공통 포함 후에 페이지 별 참조를 포함하는 코드를 넣으십시오.
  5. 가능하면 라이브 핸들러 등을 사용하여 부분 뷰에 JS를 두는 것을 피하십시오.
  6. 랩의 모든 코드를 포함하고 함수 정의, 내부 $ (함수() {} (문서 준비).
  7. 를 사용하여 콘텐츠 배포 네트워크 (CDN) 가능한 공통 코드의 버전.
+0

입력 해 주셔서 감사합니다 ... –

2

제외 질문에 기존 코드의 코드 스 니펫을 붙여 넣으면 도움이 될 것입니다. this blog post을보고 javascript를 HTML에서 분리하는 방법을 확인하십시오.

관련 문제