开源项目中的/dist目录是啥意思?
Posted
技术标签:
【中文标题】开源项目中的/dist目录是啥意思?【英文标题】:What is the meaning of the /dist directory in open source projects?开源项目中的/dist目录是什么意思? 【发布时间】:2014-05-15 13:55:32 【问题描述】:自从我第一次在许多开源项目中看到dist/
目录,通常在 GitHub 上,我一直想知道它的含义。
对于dist
、vendor
、lib
、src
以及我们经常看到的许多其他文件夹名称,我有时想知道我应该如何命名我自己的文件夹。
如果我错了,请纠正我!
src:包含来源。有时只有纯源,有时是缩小版本,取决于项目。 vendor:包含其他依赖项,如其他开源项目。 lib:问得好,实际上它非常接近vendor
,这取决于我们可以看到一个或另一个或两者的项目......
dist:据我所见,它包含“生产”文件,如果我们想使用 库,我们应该使用该文件。
为什么开源如此混乱?难道不能把事情做的更清楚吗?至少每种语言,因为某些语言使用特定的名称。
【问题讨论】:
另一个好的答案可以找到here。 【参考方案1】:回答你的问题:
/dist
表示“可分发”,即编译后的代码/库。
文件夹结构因构建系统和编程语言而异。以下是一些标准约定:
src/
:用于构建和开发项目的“源”文件。这是原始源文件所在的位置,在编译成更少的文件到dist/
、public/
或build/
之前。
dist/
:“发行版”,编译后的代码/库,也叫public/
或build/
。用于生产或公共使用的文件通常位于此处。
assets/
:图片、视频、音频、字体等静态内容。
lib/
:外部依赖项(直接包含时)。
test/
:项目的测试脚本、模拟等。
node_modules/
:包括 Npm 使用的 JS 包的库和依赖项。
vendor/
:包括 php 包的库和依赖项,供 Composer 使用。
bin/
:安装时添加到 PATH 中的文件。
Markdown/文本文件:
README.md
:一个帮助文件,用于解决项目的设置、教程和文档。 README.txt
也被使用。
LICENSE.md
:任何关于该项目的rights。 LICENSE
或 LICENSE.txt
是许可证文件名的变体,具有相同的内容。
CONTRIBUTING.md
:如何help out 与项目。有时这会在 README.md
文件中解决。
具体(这些可能永远持续下去):
package.json
:为 Npm 使用的 JS 包定义库和依赖项。
package-lock.json
:从 package.json
安装的依赖项的特定版本锁定,由 Npm 使用。
composer.json
:为 PHP 包定义库和依赖项,供 Composer 使用。
composer.lock
:从 composer.json
安装的依赖项的特定版本锁定,由 Composer 使用。
gulpfile.js
:用于定义要使用 Gulp 运行的函数和任务。
.travis.yml
:Travis CI 环境的配置文件。
.gitignore
:文件的规范意味着 Git 的 to be ignored。
【讨论】:
dist
是什么意思?
发行版,通常包含编译好的软件。
assets/
文件夹呢?应该包含什么?
@Sekhemty,图片、视频、音频、字体等静态内容
@Vadorequest 嗯,答案就在其中【参考方案2】:
回答您关于dist
文件夹含义的原始问题:
简写dist
代表distributable
,指的是一个存放文件的目录,其他人可以直接使用这些文件,而无需编译或压缩正在重用的源代码。
示例:如果我想使用某人编写的Java库的源代码,那么您需要先编译源代码才能使用它。但是,如果库作者已经将预编译版本放入存储库,那么您可以继续。这样一个已经编译好的版本保存在dist
目录下。
类似的东西也适用于 javascript 模块。通常 JavaScript 代码会被缩小和混淆以用于生产。因此,如果您想分发 JavaScript 库,建议将纯(未压缩)源代码放入 src
(源)目录,将压缩和混淆版本放入 dist
(可分发)目录,所以其他无需自己缩小即可立即获取缩小版。
注意:一些开发人员使用target
、build
或dest
(目标)等名称来代替dist
。但这些文件夹的用途是相同的。
【讨论】:
我认为这最好地回答了这个问题。 dist 代表可分发,而不是分发。一旦所有其他来源、文件和小饰品等所有内容都被编译、gulped、transpiled、组装和生成,它就是目录。这就是你想要分发或向其他人表明它是可分发的!【参考方案3】:其实! “dist 文件夹”是使用“npm run build”或“ng build”或“ng build --prod”修改源代码后得到的结果。
同时!获得“dist 文件夹”后,根据您的项目类型,您可能仍然需要做一些事情✌️
【讨论】:
【参考方案4】:文件夹摘要:
bin:二进制文件 来源:来源 包括:C/C++ 头文件 lib:C/C++ 库 contrib:其他人的贡献 doc/docs:文档 man:手册(Unix/Linux)【讨论】:
以上是关于开源项目中的/dist目录是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章