2011-09-24 5 views
6

주로 PHP 개발자이지만 늦게까지 많은 javery로 놀고 있습니다. 대부분 jQuery입니다.유지 관리를 위해 프로젝트에서 JavaScript 코드를 구성하는 방법은 무엇입니까?

문제는 코드를 디버그하는 것이 점점 어려워지고 HTML을 통해 이벤트 리스너가 어지럽 혀서 더 어려워졌습니다.

이 코드는 AJAX 호출과 DOM 조작을 처리합니다.

+6

1) 인라인 이벤트 처리기를 삽입하지 마십시오. – William

+0

@Lime은 $ (document) .ready()보다 먼저 작동하지 않는 일반 자바 스크립트에 문제가 있습니다. – MrFoh

답변

5

Separation of concerns

이것은 파일, HTML, CSS와 JS의 세 가지 유형을 의미합니다.

HTML, CSS 또는 JS를 혼용하지 마십시오. 각각은 자체 파일에 있습니다.

인라인 자바 스크립트 또는 인라인 CSS를 사용하면 코드 조직 문제를 대부분 해결할 수 있습니다.

또 다른 기술은 packagers 및 minifier입니다. 선택의

내 꾸러미를

배포자 당신이 좋은 디자인으로 분할 많은 파일/모듈에 모든 코드를 의미 browserify (JS)와 less (CSS)에 있습니다. 작은 파일을 많이 보내는 것이 비싸기 때문에 빌드 타임 패키지 도구를 사용하여 모든 js를 하나의 js 파일로 만들고 모든 CSS를 하나의 CSS 파일로 만듭니다.

JS 자체는 좀 더 나아가 모듈 로더를 사용하는 경향이 있습니다. Browserify는 포장기 및 모듈 로더입니다.

모듈 로더는 작은 모듈을 정의하고 필요시 및 필요할 때로드/필요로 함을 의미합니다.

또한 이벤트 구동 아키텍처와 코드를 매우 느슨하게 결합한 패턴을 구현하는 mediator 패턴을 구현합니다. 하나 더 가서 더 blackboard system 같은 것을 구현할 수 있지만이 개인적으로 시도하지 havn't.

+0

예, 직접 HTML을 포함하는 경향이 있지만 필요한 경우 PHP 파일. –

+0

@ ProjectV1 PHP는 말할 수 없지만 본능적 인 것은 나쁜 습관입니다. – Raynos

+0

그렇습니다. 어쩌면 제가 몇 가지 지침을 작성해야 할 것 같지 않습니다. –

0

많은 파일에서 CommonJS "require"를 사용하여 자바 스크립트 코드를 분리 한 다음 browserify 또는 Webpack을 사용할 수 있습니다. 또 다른 옵션은 Cor으로 조직, 청결 및 개발 경험에 중점을 둔 javascript로 컴파일되는 언어입니다.

관련 문제