【问题标题】: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。

标签: github open-source


【解决方案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)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-22
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多