С тех пор как я впервые увидел dist/
каталог во многих проектах с открытым исходным кодом, обычно на GitHub, мне стало интересно, что это значит.
С dist
, vendor
, lib
, src
, и многие другие имена папок , которые мы видим довольно часто, я иногда удивляюсь , как я должен назвать свои собственные папки.
Поправьте меня если я ошибаюсь!
- src: содержит исходные коды . Иногда от проекта зависят только чистые исходники, иногда с минифицированной версией.
- vendor: содержит другие зависимости, как и другие проекты с открытым исходным кодом.
- lib: Хороший вопрос, это действительно близко к
vendor
действительности, в зависимости от проекта мы можем увидеть тот или иной или оба ... - dist: Судя по тому, что я видел, он содержит "производственные" файлы, которые мы должны использовать, если мы хотим использовать библиотеку .
Почему открытый исходный код так запутан? Разве нельзя сделать яснее? По крайней мере, для каждого языка, потому что некоторые языки используют определенные имена.
github
open-source
Vadorequest
источник
источник
Ответы:
Чтобы ответить на ваш вопрос:
/dist
означает «распространяемый», скомпилированный код / библиотека.Структура папки зависит от системы сборки и языка программирования. Вот несколько стандартных соглашений:
src/
: "исходные" файлы для сборки и развития проекта. Здесь находятся исходные исходные файлы, прежде чем они будут скомпилированы в меньшее количество файлов вdist/
,public/
илиbuild/
.dist/
: "distribution", скомпилированный код / библиотека, также называемаяpublic/
илиbuild/
. Здесь обычно находятся файлы, предназначенные для производственного или публичного использования.assets/
: статический контент, такой как изображения, видео, аудио, шрифты и т. д.lib/
: внешние зависимости (если включены напрямую).test/
: скрипты тестов проекта, mocks и т. д.node_modules/
: включает библиотеки и зависимости для пакетов JS, используемых Npm.vendor/
: включает библиотеки и зависимости для пакетов PHP, используемых Composer.bin/
: файлы, которые добавляются в ваш PATH при установке.Уценка / текстовые файлы:
README.md
: Файл справки, в котором рассматриваются настройки, руководства и документация по проекту.README.txt
также используется.LICENSE.md
: любые права, данные вам в отношении проекта.LICENSE
илиLICENSE.txt
являются вариациями имени файла лицензии, имеющими такое же содержимое.CONTRIBUTING.md
: как помочь с проектом. Иногда об этом говорится вREADME.md
файле.Конкретные (они могут продолжаться вечно):
package.json
: определяет библиотеки и зависимости для пакетов JS, используемых Npm.package-lock.json
: конкретная блокировка версии для установленных зависимостейpackage.json
, используемых Npm.composer.json
: определяет библиотеки и зависимости для пакетов PHP, используемых Composer.composer.lock
: конкретная блокировка версии для установленных зависимостейcomposer.json
, используемых Composer.gulpfile.js
: используется для определения функций и задач, запускаемых с помощью Gulp..travis.yml
: config для среды Travis CI ..gitignore
: Спецификация файлов, которые Git должен игнорировать .источник
dist
?assets/
папкой? Что должно содержать?Чтобы ответить на ваш исходный вопрос о значении
dist
папки:Сокращенная форма
dist
означаетdistributable
и относится к каталогу, в котором будут храниться файлы, которые могут напрямую использоваться другими без необходимости компилировать или минимизировать исходный код, который используется повторно.Пример: если я хочу использовать исходный код библиотеки Java, которую кто-то написал, вам нужно сначала скомпилировать исходные коды, чтобы использовать их. Но если автор библиотеки уже помещает предварительно скомпилированную версию в репозиторий, вы можете просто продолжить. Такая уже скомпилированная версия сохраняется в
dist
каталоге.Нечто подобное применимо и к модулям JavaScript. Обычно код JavaScript минимизирован и обфусцирован для использования в продакшене. Поэтому, если вы хотите распространять библиотеку JavaScript, рекомендуется поместить простой (не минифицированный) исходный код в
src
(исходный) каталог, а минифицированную и обфусцированную версию вdist
(распространяемую) директорию, чтобы другие могли получить минифицированную версию прямо прочь, не уменьшая его самостоятельно.Примечание. Некоторые разработчики используют такие имена, как
target
,build
илиdest
(пункт назначения) вместоdist
. Но назначение этих папок идентично.источник
Резюме папок:
источник
Фактически! "dist folder" - это результат, который вы получаете после изменения исходного кода с помощью "npm run build", "ng build" или "ng build --prod" для производства.
Между тем! После получения "dist folder" вам все еще может быть нужно сделать несколько вещей в зависимости от типа вашего проекта ✌️
источник