Seit Jahren verwende ich für meine Websites die folgende Verzeichnisstruktur:
<root>
->js
->jquery.js
->tooltip.js
->someplugin.js
->css
->styles.css
->someplugin.css
->images
-> all website images...
Es schien mir vollkommen in Ordnung zu sein, bis ich anfing, verschiedene Komponenten von Drittanbietern zu verwenden.
Zum Beispiel habe ich heute eine Javascript-Komponente zur Datetime-Auswahl heruntergeladen, die nach Bildern in demselben Verzeichnis sucht, in dem sich ihre CSS-Datei befindet (CSS-Datei enthält URLs wie "url ('calendar.png')").
Jetzt habe ich drei Möglichkeiten:
1) lege datepicker.css in mein CSS-Verzeichnis und lege seine Bilder zusammen. Ich mag diese Option nicht wirklich, weil ich sowohl CSS- als auch Bilddateien im CSS-Verzeichnis haben werde und es seltsam ist. Außerdem kann ich Dateien von verschiedenen Komponenten mit demselben Namen treffen, z. B. zwei verschiedene Komponenten, die aus ihren CSS-Dateien auf background.png verlinken. Ich muss diese Namenskollisionen beheben (indem ich eine der Dateien umbenenne und die entsprechende Datei bearbeite, die den Link enthält).
2) Legen Sie datepicker.css in mein CSS-Verzeichnis, legen Sie die Bilder in das Bilderverzeichnis und bearbeiten Sie datepicker.css, um nach den Bildern im Bilderverzeichnis zu suchen. Diese Option ist in Ordnung, aber ich muss einige Zeit damit verbringen, Komponenten von Drittanbietern zu bearbeiten, um sie an meine Site-Struktur anzupassen. Auch hier können Namenskollisionen auftreten (wie in der vorherigen Option beschrieben), und ich muss sie beheben.
3) Legen Sie datepicker.js, datepicker.css und seine Bilder in ein separates Verzeichnis, sagen wir / 3rdParty / datepicker /, und platzieren Sie die Dateien so, wie es vom Autor beabsichtigt war (z. B. / 3rdParty / datepicker / css / datepicker) .css, /3rdParty/datepicker/css/something.png usw.). Jetzt fange ich an zu denken, dass diese Option die richtigste ist.
Erfahrene Webentwickler, was empfehlen Sie?