Javascript 라이브러리 및 CSS 폴더 구조 구성을위한 모범 사례 [닫기]


110

웹 애플리케이션에서 js 및 css 폴더를 어떻게 구성합니까?

내 현재 프로젝트 구조는 다음과 같습니다.

root/
├── assets/
   ├── js/
      └──lib/
   ├── css/
   └── img/
└── index.html

그러나 많은 자바 스크립트 라이브러리 및 CSS 플러그인을 사용하면 더 복잡합니다. Javascript 플러그인은 자체 .js 파일과 함께 제공되며 때로는 자체 .css 파일과 함께 제공됩니다.

예를 들어 JQueryUI 플러그인과 함께 JQuery를 사용할 때 js / lib 디렉토리에 jquery.js와 jquery-ui.js를 넣습니다. 그러나 JQueryUI는 자체 CSS 파일과 함께 제공됩니다. 모범 사례를 위해 자바 스크립트 플러그인의 CSS를 어디에 넣어야합니까? 내 css와 javascript css 플러그인을 구별하기 위해 lib 폴더에 넣어야합니까? 아니면 다른 곳?

개인 취향 인 건 알고 있지만 프로젝트 폴더를 어떻게 구성하는지 알고 싶습니다.

미리 감사드립니다 :)


CSS가 컴포넌트와 관련된 경우 CSS를 JS와 동일한 폴더에 보관하십시오. 즉. table.js가 있으면 table.css가 폴더 옆에 있습니다. 당신이 길을 잃지 않는 방법은 CSS 찾기 위해 노력하고 있음
올리버 왓킨스

프로젝트 규모에 따라 다릅니다. 일반적으로 IMHO, 모든 프로젝트는 작업 실행기 (NPM / GULP)를 사용해야하므로 build폴더와 src폴더 가 있어야합니다 .
vsync

CSS 및 Js 폴더는
요즘

답변:


140

HTML5 애플리케이션에서 파일을 구성하는 데 권장되는 구조를 간략하게 설명하겠습니다. 이것은 어떤 종류의 표준을 만들려는 시도가 아닙니다. 대신 논리적으로 편리한 방식으로 파일을 그룹화하고 이름을 지정하는 방법에 대한 제안을 할 것입니다.

프로젝트

HTML5 애플리케이션을 빌드한다고 가정 해 보겠습니다. 경우에 따라 서버의 루트를 기본 컨테이너로 사용할 수 있지만이 기사에서는 HTML5 응용 프로그램이 폴더에 포함되어 있다고 가정합니다. 이 폴더 안에 애플리케이션 색인 파일 또는 기본 진입 점을 만들어야합니다.

  • appcropolis 프로젝트
    • my-index.html

일반적으로 애플리케이션은 HTML, CSS, 이미지 및 자바 스크립트 파일로 구성됩니다. 이러한 파일 중 일부는 응용 프로그램에 따라 다르며 다른 파일은 여러 응용 프로그램에서 사용할 수 있습니다. 이것은 매우 중요한 차이점입니다. 파일을 효과적으로 그룹화하려면 응용 프로그램 별 리소스에서 범용 파일을 분리하여 시작해야합니다.

  • appcropolis 프로젝트
    • 자원
    • 공급 업체
    • my-index.html

이 간단한 분리를 통해 파일을 훨씬 쉽게 탐색 할 수 있습니다. 공급 업체 폴더에 라이브러리와 범용 파일을 배치하면 편집 할 파일이 리소스 폴더 에 있다는 것이 분명 합니다.

HTML 코드를 제외하고 애플리케이션의 나머지 파일은 대부분 CSS, Javascript 및 이미지입니다. 이미 이러한 종류의 자산에 해당하는 폴더 안에 애플리케이션 파일을 그룹화했을 가능성이 있습니다.

  • appcropolis 프로젝트
    • 자원
      • CSS
      • js
      • 이미지
      • 데이터
    • 공급 업체
    • my-index.html

JS의 폴더는 자바 스크립트 코드를 개최한다. 마찬가지로 이미지 폴더는 index.html 또는 애플리케이션의 다른 페이지에서 직접 사용되는 이미지를 추가해야하는 위치입니다. 이 이미지 폴더는 스타일 시트 관련 파일을 호스팅하는 데 사용해서는 안됩니다. CSS 코드와 관련 이미지는 css 폴더 안에 있어야 합니다. 이렇게하면 다양한 테마를 쉽게 사용할 수있는 페이지를 만들 수 있고 응용 프로그램의 이식성을 높일 수 있습니다.

  • appcropolis 프로젝트
    • 자원
      • CSS
        • 블루 테마
          • background.png
        • 이미지
          • background.png
        • blue-theme.css
        • my-index.css
      • js
        • my-index.js
        • my-contact-info.js
      • 이미지
        • 제품
          • computer.jpg
          • 핸드폰 .png
          • printer.jpg
        • my-company-logo-small.png
        • my-company-logo-large.png
      • 데이터
        • some-data.json
        • more-data.xml
        • table-data.csv
        • extra-data.txt
    • 공급 업체
      • jquery
        • 이미지
          • ajax-loader.gif
          • icons-18-white.png
        • jquery.min.js
        • jquery.mobile-1.1.0.min.css
        • jquery.mobile-1.1.0.min.js
      • 일부 css 라이브러리
      • some-plugin.jquery
    • my-index.html
    • my-contact-info.html
    • my-products.html

이전 예는 css 폴더 의 내용을 보여줍니다 . 기본 CSS 파일로 사용해야하는 default.css라는 파일이 있습니다. 기본 스타일 시트에서 사용하는 이미지이미지 폴더 안에 있어야 합니다. 대체 스타일 시트를 만들거나 기본 스타일 시트에 정의 된 규칙을 재정의하려는 경우 추가 CSS 파일과 해당 폴더를 만들 수 있습니다. 예를 들어 blue-theme.css 스타일 시트를 만들고 모든 관련 이미지를 blue-theme 안에 배치 할 수 있습니다.폴더. 한 페이지 (이 경우 my-index.html)에서만 사용되는 CSS 또는 Javascript 코드가있는 경우 페이지 이름이 같은 .css 및 .js 파일 내에서 페이지 특정 코드를 그룹화 할 수 있습니다 (ei my-index .css 및 my-index.js). CSS 및 Javascript 코드는 가능한 한 일반적이어야하지만 별도의 파일에 배치하여 예외를 추적 할 수 있습니다.

 

최종 권장 사항

폴더 및 파일 이름에 대한 몇 가지 최종 권장 사항을 작성해야합니다. 일반적으로 모든 폴더 및 파일 이름에 소문자를 사용해야합니다. 여러 단어를 사용하여 파일 또는 폴더의 이름을 지정하는 경우 하이픈 (예 : my-company-logo-small.png)으로 구분합니다. 이 기사의 조언을 따르면 여러 페이지를 결합하면서 공통 리소스를 함께 유지하고 사용자 정의 코드를 멋지게 분리 할 수 ​​있어야합니다.

마지막으로이 기사에서 권장하는 구조를 사용하지 않더라도 관례를 고수하는 것이 중요합니다. 그것은 당신의 생산성을 증가시키고 더 중요한 것은 당신이하는 일을 다른 사람들이 이해하기 쉽게 만들 것입니다.

출처 크레딧 : HTML, CSS 및 자바 스크립트 파일을 구성하는 방법


1
안녕, 아난 트. 다음 질문에 대해 저를 도와 주시겠습니까? stackoverflow.com/questions/33837168/…
Maxim Zhukov 2011

1
비디오 및 오디오 파일을 어디에 넣습니까? 또는 사용자 정의 글꼴 파일?
boblapointe

17
노골적인 표절
OneCricketeer

1
CSS 및 Js 폴더는
요즘

14
 root/
   assets/
      lib/-------------------------libraries--------------------
          bootstrap/--------------Libraries can have js/css/images------------
              css/
              js/
              images/  
          jquery/
              js/
          font-awesome/
              css/
              images/
     common/--------------------common section will have application level resources             
          css/
          js/
          img/

 index.html

이것이 내 애플리케이션의 정적 리소스를 구성하는 방법입니다.


하지만 JS 소스 파일과 축소 된 파일을 어디에 두나요?
Kokodoko

같은 디렉토리에 보관할 수 있습니다.
Akhlesh

4
소스와 배포를위한 별도의 디렉토리가 있어야한다고 생각하십시오
Anoop D
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.