Cấu trúc thư mục tối ưu cho một thư mục web là gì?


9

Tôi đã làm phát triển web trong nhiều năm và tôi đã luôn thực hiện một cấu trúc web tương tự như thế này:

public_html/login.php
public_html/css/login.css
public_html/js/login.js
public_html/img/logo.png

Tôi đã thấy người khác sử dụng:

styles/login.css
images/logo.png

Và gần đây tôi phát hiện ra rằng đồng nghiệp của mình thích:

public_html/a/login.js   - application
public_html/s/login.css  - styles
public_html/i/logo.png   - images
public_html/p/photo1.jpg - photos
public_html/f/menu.swf   - flash

Ngoài việc lưu một hoặc hai byte, có bất kỳ ưu điểm hay nhược điểm nào đối với bất kỳ tùy chọn nào trong số này không? Có một thực hành tốt nhất cho khái niệm này?


Mỗi yêu cầu, các thư mục bổ sung: 't' cho các mẫu và 'x' cho xml
St. John Johnson

Câu trả lời:


6

Tôi gắn bó với hệ thống hiện tại của bạn, mặc dù tôi có thể bị thiên vị khi tôi chỉ sử dụng cùng một tên.

Tôi thấy rằng việc giữ một tên thư mục ba chữ cái là đủ dài để có ý nghĩa, nhưng đủ ngắn gọn để giữ cho URL của tôi gọn gàng .

Việc cắt xén từng thư mục thành một chữ cái là quá mức cần thiết, và như mc10 chỉ ra, được mở rộng để giải thích. Chẳng hạn, tôi sẽ không bao giờ chọn 'a' cho các tệp Javascript: Tôi đã chọn 'b', cho "hành vi". Tôi không nghĩ một trong hai là chính xác hơn, nó chỉ chỉ ra cách thức đặt tên mơ hồ.

Mặc dù sử dụng "kiểu" và "hình ảnh" làm tên thư mục là hoàn toàn tốt, tôi thấy việc sử dụng tên ngắn hơn sẽ có ý nghĩa hơn nhiều. Hãy suy nghĩ về số lần thư mục đó sẽ được tham chiếu, trong mỗi tệp, trong mỗi URL và yêu cầu và các byte bắt đầu cộng lại. Cấp, tôi không nghĩ bạn sẽ thấy bất kỳ khoản tiết kiệm băng thông trong thế giới thực nào bằng cách sử dụng tên thư mục ngắn hơn, nhưng tôi sẽ lấy từng bit (và byte) mà tôi có thể nhận được.

Tôi thường dính vào các thư mục cặp đôi này:

  • js - tập tin Javascript
  • img - tập tin hình ảnh
  • css - tập tin CSS
  • lib - Các kịch bản phía máy chủ không tạo đầu ra. Thư viện, lớp học, v.v.
  • doc - Các tệp nhị phân, như tài liệu văn phòng và tệp PDF, không phải là một phần của điều hướng trang thông thường

2

Các thư mục CSS và JS rất tốt cho một trang web riêng lẻ có thể được mã hóa tĩnh (hay còn gọi là HTML), nhưng nó không thực tế đối với một trang web lớn hơn sử dụng CMS.

Các CMS sử dụng các thư mục "kiểu" và "hình ảnh" trong cấu trúc thư mục riêng của chúng, chỉ là nó thường bị chôn vùi trong các thư mục con. Đó là một cách hay để trình bày nội dung và được nhiều CMS ưa chuộng.

Có tên thư mục một chữ cái là khó hiểu. Thoạt nhìn, tôi đã bị nhầm lẫn với sự khác biệt giữa ảnh ( p) và hình ảnh ( i). Sử dụng acho "ứng dụng" cũng có vẻ khó hiểu.


1

Việc sử dụng các thư mục cho css và js trái ngược với các tệp riêng lẻ phụ thuộc hoàn toàn vào phạm vi dự án của bạn.

Nếu bạn có, hoặc có khả năng sẽ cần nhiều hơn một tập lệnh hoặc biểu định kiểu thì việc sắp xếp chúng vào các thư mục sẽ giúp việc duy trì và quản lý trang web dễ dàng hơn.

Nếu bạn quyết định sử dụng các thư mục một lần nữa, việc đặt các tên dài hoặc ngắn này là một sở thích cá nhân.

Mặc dù tên một chữ cái lưu byte và có thể trông gọn gàng hơn một chút, nhưng theo kinh nghiệm của tôi nếu bạn có nhiều hơn một số người làm việc trên trang web thì điều này có thể trở nên khó hiểu.


1

Bạn cũng có thể làm phương pháp này để.

Phương pháp 1:

  • / i / chung /
  • / i / bố trí /
  • / i / lib /
  • / i / misc / docs / pdf /
  • / i / misc / docs / csv /
  • / i / misc / docs / txt /

Lưu ý: Tốt nhất là mỗi tệp sẽ được lưu lại trong bản tóm tắt md5 của chúng.

Ví dụ:

  • /i/common/9df48e2cf2d25740e4ba54e8cd73b3a3.png,
  • /i/layout/2b33962041cb835c227bba27424a28af.css,
  • /i/lib/a8a2a48ddaa95527c6d3db763e2b7809.js,
  • /i/misc/docs/pdf/68aafcfe9aa1ab7d83a6ce8df302155e.pdf

Phương pháp thứ 2:

  • / tài sản / chung /
  • / tài sản / mẫu / template_name /
  • / tài sản / bao gồm / js /
  • / tài sản / misc / pdf /
  • / tài sản / misc / csv /
  • / tài sản / misc / txt /

Lưu ý: Không yêu cầu đổi tên tệp thành chuỗi md5 nhưng mọi khoảng trắng sẽ được thay thế bằng dấu gạch ngang / -

Ví dụ

  • /assets/common/uploads/2014/12/company-site-has-been-launched.jpg

Phương pháp thứ 3:

  • / trang web / tập tin /
  • /bố trí trang web/
  • / trang web / tập lệnh /
  • / trang web / misc / docs / pdf /
  • / trang web / misc / docs / csv /
  • / trang web / misc / docs / txt /

NHỚ


1
Tôi thích các ví dụ về cấu trúc thư mục của bạn, tuy nhiên việc đặt tên tệp của bạn bằng cách sử dụng băm md5 của chúng không được khuyến nghị và chắc chắn không phải là "tốt nhất". Thay đổi tệp hình ảnh sẽ thay đổi md5, do đó yêu cầu bạn phải sửa đổi toàn bộ trang web. Thay vào đó, an toàn hơn nhiều để đặt cho họ một cái tên dễ nhớ hơn.
Richard
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.