自从我第一次dist/
在许多开源项目中看到一个目录,通常是在GitHub上,我一直在想它意味着什么.(我是外国人,没有英文原生)
随着dist
,vendor
,lib
,src
,和我们经常看到很多其他的文件夹名称,我有时想,我应该怎样命名我自己的文件夹.
如我错了请纠正我!
src:包含*sources**.有时只有纯源,有时只有缩小版本,取决于项目.
vendor:包含其他依赖项,与其他开源项目一样.
lib:好问题,它vendor
实际上非常接近,取决于我们可以看到一个或另一个或两者的项目......
dist:从我看到的,它包含"生产"文件,如果我们想要使用库,我们应该使用它.
为什么开源如此令人困惑?是不是可以更清楚地做事情?至少每种语言,因为某些语言使用特定的名称.
回答你的问题:
/dist
表示"分发",编译的代码/库.文件夹结构因构建系统和编程语言而异.以下是一些标准惯例:
src/
:"源"文件来构建和开发项目.这是原始源文件所在的位置,然后编译为较少的文件dist/
,public/
或build/
.
dist/
:"分发",编译后的代码/库,也称为public/
或build/
.用于制作或公共使用的文件通常位于此处.
lib/
:外部依赖项(直接包含时).
test/
:项目的测试脚本,模拟等
node_modules/
:依赖关系通常通过依赖关系管理放在这里.
vendor/
:安装时添加到PATH的文件.
降价/文本文件:
bin/
:帮助文件,用于解决项目的设置,教程和文档.README.md
也用了.
README.txt
:关于项目的任何权利.LICENSE.md
或者LICENSE
是具有相同内容的许可文件名的变体.
LICENSE.txt
:如何帮助项目.有时这会在CONTRIBUTING.md
文件中解决.
具体(这些可以永远持续下去):
README.md
:描述库和依赖项(如果是JS包).
package.json
:与上面相同,但是对于通过composer的PHP包.
package-lock.json
:Travis CI环境的配置文件.
package.json
:Git 要忽略的文件规范.
要回答有关dist
文件夹含义的原始问题:
shortform dist
代表distributable
并指向将存储文件的目录,可以由其他人直接使用,而无需编译或缩小正在重用的源代码.
示例:如果我想使用某人编写的Java库的源代码,那么您需要先编译源代码才能使用它.但是,如果库作者已将预编译版本放入存储库,那么您可以继续.这样一个已编译的版本将保存到dist
目录中.
类似的东西适用于JavaScript模块.通常将JavaScript代码缩小并进行模糊处理以用于生产.因此,如果要分发JavaScript库,建议将普通(非缩小)源代码放入src
(源)目录,将缩小和混淆的版本放入dist
(可分发)directoy,以便其他人可以抓取缩小版本离开而不必自己缩小.
注意:某些开发人员使用名称target
,build
或dest
(目标)而不是dist
.但这些文件夹的目的是相同的.