开源项目中的/dist目录是啥意思?

Posted

技术标签:

【中文标题】开源项目中的/dist目录是啥意思?【英文标题】:What is the meaning of the /dist directory in open source projects?开源项目中的/dist目录是什么意思? 【发布时间】:2014-05-15 13:55:32 【问题描述】:

自从我第一次在许多开源项目中看到dist/ 目录,通常在 GitHub 上,我一直想知道它的含义。

对于distvendorlibsrc 以及我们经常看到的许多其他文件夹名称,我有时想知道我应该如何命名我自己的文件夹。

如果我错了,请纠正我!

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。 LICENSELICENSE.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(可分发)目录,所以其他无需自己缩小即可立即获取缩小版。

注意:一些开发人员使用targetbuilddest(目标)等名称来代替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目录是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

在android开发中,不能导入开源的库是啥原因

MANTIS是啥

Python 开源项目的正常结构是啥?运行测试的首选方式是啥? [关闭]

在一些开源框架中,dist文件夹是什么意思

在一些开源框架中,dist文件夹是什么意思

最好的 Kibana 多租户免费开源项目是啥?