Я начинаю строить сайт с нуля, используя python, django и bootstrap. Я заметил, что много раз js, css, img. и шрифты хранятся в поставщике папок, например:
/static/js/vendor/bootstrap/bootstrap.min.js
/static/css/vendor/bootstrap/bootstrap.min.css
или что-то подобное.
Какая польза от этой структуры папок над чем-то вроде:
/static/bootstrap/js/bootstrap.min.js
/static/bootstrap/css/bootstrap.min.css
В первом примере при использовании папки поставщика, как я часто видел, мне пришлось бы загружать загрузочный файл и распаковывать загруженную папку в подкаталоги js и css vendor. Во втором примере я могу загрузить bootstrap и выгрузить загруженную папку в /static без необходимости распаковывать что-либо.
Он четко отмечает, какие файлы являются сторонними библиотеками, которые не следует редактировать напрямую.
Папка vendor
- это то место, где вы обычно (я использую слово "обычно", потому что это не совсем правильное правило, но более предпочтительное в сообществе кодирования с целью создания семантической структуры каталогов) поддерживать ресурсы сторонних разработчиков (значки, изображения, коды, вы называете это), в отличие от папки lib
(library), в которой вы или автор сайта/приложения должны быть в курсе ваших исходных кодов.
Поэтому, если бы я загрузил и использовал сайт/приложение в гипотетическом сценарии выше, я могу затем создать соответствующие папки для каждого типа данных (src/images for images, style/css for css, script/js for js, etc
) И переместить требуемые активы из папки lib в новые папки без необходимости редактировать коды третьих лиц (или другие активы), что упрощает откат при любых изменениях, вызвавших ошибки и т.д.