Что означает каталог /dist в проектах с открытым исходным кодом?
С тех пор, как я впервые увидел dist/ каталог во многих проектах с открытым исходным кодом, обычно на GitHub, мне было интересно, что это значит. (Я иностранец, не родной на английском языке)
С dist, vendor, lib, src и многие другие имена папок, которые мы видим довольно часто, я иногда задаюсь вопросом, как я должен называть свои собственные папки.
поправьте меня, если я ошибаюсь!
- src: содержит * источники**. Иногда только чистые источники, иногда с уменьшенная версия, зависит от проекта.
- поставщик: содержит другие зависимости, как и другие проекты с открытым исходным кодом.
- lib: хороший вопрос, это действительно близко к
vendorна самом деле, в зависимости от проекта мы можем видеть один или другой или оба... - dist: из того, что я видел, он содержит файлы "производство", тот, который мы должны использовать, если мы хотим использовать библиотека.
почему с открытым исходным кодом так запутано? Разве это невозможно? сделать вещи более ясными? По крайней мере, для каждого языка, потому что некоторые языки используют определенные имена.
3 ответов
чтобы ответить на ваш вопрос:
/dist означает "распространение", скомпилированный код / библиотека.
структура папок зависит от системы сборки и языка программирования. Вот некоторые стандартные соглашения:
-
src/:" исходные " файлы для создания и разработки проекта. Здесь находятся исходные исходные файлы, прежде чем они будут скомпилированы в меньшее количество файлов вdist/,public/илиbuild/. -
dist/: "дистрибутив", скомпилированный код / библиотека, также называетсяpublic/илиbuild/. Файлы, предназначенные для производства или общественного использования, обычно находятся здесь. -
lib/: внешние зависимости (при включении напрямую). -
test/: скрипты тестов проекта, насмешки и т. д. -
vendor/: зависимости обычно помещаются здесь через управление зависимостями. -
bin/: файлы, которые добавляются в ваш путь, когда установленный.
Markdown / Текстовые Файлы:
-
README.md: файл справки, который адресует установку, учебники и документы проекта.README.txtтакже используется. -
LICENSE.md: все прав дано вам относительно проекта.LICENSEилиLICENSE.txtявляются вариациями имени файла лицензии, имеющие одинаковое содержимое. -
CONTRIBUTING.md: как помочь С проектом. Иногда это адресовано в the .
конкретные (они могут продолжаться вечно):
-
package.json: описывает библиотеку и зависимости (если пакет JS). -
composer.json: то же, что и выше, но для пакетов PHP через composer. -
.travis.yml: config для Трэвис ки окружающая среда. -
.gitignore: спецификация файлов означала игнорировать С помощью Git.
чтобы ответить на ваш первоначальный вопрос о значении :
shortform dist расшифровывается как distributable и относится к каталогу, где будут храниться файлы, которые могут быть непосредственно использованы на другие без необходимости компиляции или уменьшать исходный код, который используется повторно.
пример: если я хочу использовать исходный код библиотеки Java, которую кто-то написал, то вам нужно сначала скомпилировать источники, чтобы использовать его. Но если автор библиотеки помещает уже предварительно скомпилированную версию в репозиторий, вы можете просто продолжить. Такая уже скомпилированная версия сохраняется в .
нечто подобное относится и к модулям JavaScript. Обычно код JavaScript минимизируется и запутывается для использования в производстве. Поэтому, если вы хотите распространять библиотеку JavaScript, рекомендуется поместить простой (не уменьшенный) исходный код в src (источник) каталог и уменьшенный и запутанная версия в dist (distributable) directoy, поэтому другие могут схватить уменьшенную версию сразу же без необходимости уменьшать ее сами.
Примечание: некоторые разработчики используют такие имена, как target, build или dest (пункт назначения) вместо dist. Но назначение этих папок идентично.
сводка папок:
- bin: двоичные файлы
- src: source
- включить: C / C++ заголовки
- lib: библиотеки C / C++
- contrib: вклад от других людей
- doc / docs: documentations
- man: руководство (Unix / Linux)