Яка оптимальна структура папок для веб-каталогу?


9

Я роблю веб-розробки протягом багатьох років, і завжди робив веб-структуру, подібну до цієї:

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

Я бачив, як інші люди використовують:

styles/login.css
images/logo.png

А потім нещодавно я дізнався, що моєму колезі подобається:

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

Окрім збереження байта чи двох, чи є якісь переваги чи недоліки будь-якого з цих варіантів? Чи є найкраща практика для цієї концепції?


За запитом, додаткові папки: 't' для шаблонів і 'x' для xml
Сент-Джон Джонсон,

кілька пов'язаних: stackoverflow.com/questions/2114935 / ...
cregox

Відповіді:


7

Я б дотримувався вашої нинішньої системи, хоча я, можливо, є упередженим, оскільки сам використовую приблизно однакові імена.

Я вважаю, що збереження імені папки з трьома літерами достатньо багатослівного, щоб мати сенс, але досить стисло, щоб мої URL-адреси були охайними .

Обрізка кожної папки до однієї літери є надмірною, і, як вказує mc10, широко відкрита для тлумачення. Наприклад, я ніколи б не вибирав "a" для файлів Javascript: я вибрав би "b" для "поведінки". Я не вважаю, що це більш правильно, це просто вказує на те, наскільки неоднозначна схема іменування.

Хоча використання "стилів" і "зображень" як назв папок ідеально добре, я вважаю, що має набагато більше сенсу використовувати коротше ім'я. Подумайте, скільки разів буде посилатися на цю папку, у кожному файлі, у кожній URL-адресі та запиті, і байти почнуть додаватись. Зрозуміло, я не думаю, що ви побачите економію пропускної здатності в реальному світі, використовуючи короткі назви папок, але я візьму кожен біт (і байт), який я можу отримати.

Я зазвичай дотримуюся цих папок:

  • js - файли Javascript
  • img - Файли зображень
  • css - CSS файли
  • lib - скрипти на стороні сервера, які не дають результатів. Бібліотеки, класи тощо.
  • doc - Бінарні файли, такі як офісні документи та PDF, які не є частиною звичайної навігації по сторінці

2

Папки CSS та JS приємні для окремого сайту, який може бути статично закодованим (він же лише HTML), але це не практично для більшого сайту, що використовує CMS.

CMS використовують папки "стилі" та "образи" у власній структурі папок, лише те, що вони зазвичай закопуються у підкаталоги. Це приємний спосіб викладати контент і прихильний багатьма CMS.

Маючи однобуквені імена папок - заплутано. На перший погляд я б плутав різницю між фотографіями ( p) та зображеннями ( i). Використання aдля "застосунку" також здається дурним.


1

Використання папок для css та js на відміну від окремих файлів повністю залежить від обсягу вашого проекту.

Якщо у вас є або вам буде потрібно більше одного сценарію чи таблиці стилів, то впорядкування їх у папки полегшить підтримку та управління сайтом.

Якщо ви все-таки вирішите скористатися папками, то повторне надання цих довгих чи коротких імен - це особиста перевага.

Хоча назва однієї літери економить байти і може виглядати трохи акуратніше, якщо я маю більше ніж кілька людей, які працюють на сайті, це може стати заплутаним.


1

Ви також можете зробити цей метод для.

1-й метод:

  • / я / загальний /
  • / i / макет /
  • / i / lib /
  • / i / різне / docs / pdf /
  • / i / різне / docs / csv /
  • / i / різне / docs / txt /

Примітка. Найкраще, якщо кожен файл буде перейменований у звіт md5.

Приклади:

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

2-й метод:

  • / активи / загальні /
  • / активи / шаблони / ім'я_ шаблону /
  • / активи / включає / js /
  • / активи / різне / pdf /
  • / активи / різне / csv /
  • / активи / різне / txt /

Примітка. Тут не потрібно перейменовувати файли в рядки md5, але всі пробіли слід замінити тире / -

Приклади

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

3-й метод:

  • / сайт / файли /
  • / сайт / макет /
  • / сайт / сценарії /
  • / сайт / різне / docs / pdf /
  • / сайт / різне / docs / csv /
  • / сайт / різне / docs / txt /

ЗАБЕЗПЕЧЕННЯ. У підкаталогу папок public_html "загальний" ви можете створити новий підкаталог після нього та назвати його "uploads / 2014/12 / для завантажених файлів так само, як Wordpress впорядковує ваші завантаження.


1
Мені подобаються ваші приклади структур папок, однак називати файли за допомогою хедів md5 не рекомендується, і, безумовно, не "найкраще". Зміна файлу зображення змінить його md5, тому вимагає внести зміни на весь сайт. Натомість набагато безпечніше дати їм більш пам’ятне ім’я.
Річард
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.