Что означает каталог /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)