开源项目中/ dist目录的含义是什么?

Vad*_*est 123 open-source github

自从我第一次dist/在许多开源项目中看到一个目录,通常是在GitHub上,我一直在想它意味着什么.(我是外国人,没有英文原生)

随着dist,vendor,lib,src,和我们经常看到很多其他的文件夹名称,我有时想,我应该怎样命名我自己的文件夹.

如我错了请纠正我!

  • src:包含*sources**.有时只有纯源,有时只有缩小版本,取决于项目.
  • vendor:包含其他依赖项,与其他开源项目一样.
  • lib:好问题,它vendor实际上非常接近,取决于我们可以看到一个或另一个或两者的项目......
  • dist:从我看到的,它包含"生产"文件,如果我们想要使用,我们应该使用它.

为什么开源如此令人困惑?是不是可以更清楚地做事情?至少每种语言,因为某些语言使用特定的名称.

0xc*_*aff 194

回答你的问题:

/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"的意思怎么样? (33认同)
  • 分发时,它通常包含已编译的软件. (22认同)
  • 那`assets /`文件夹呢?应该包含什么? (2认同)
  • @Sekhemty,静态内容,例如图像,视频,音频,字体等。 (2认同)

Ben*_*uer 48

要回答有关dist文件夹含义的原始问题:

shortform dist代表distributable并指向将存储文件的目录,可以由其他人直接使用,而无需编译或缩小正在重用的源代码.

示例:如果我想使用某人编写的Java库的源代码,那么您需要先编译源代码才能使用它.但是,如果库作者已将预编译版本放入存储库,那么您可以继续.这样一个已编译的版本将保存到dist目录中.

类似的东西适用于JavaScript模块.通常将JavaScript代码缩小并进行模糊处理以用于生产.因此,如果要分发JavaScript库,建议将普通(非缩小)源代码放入src(源)目录,将缩小和混淆的版本放入dist(可分发)directoy,以便其他人可以抓取缩小版本离开而不必自己缩小.

注意:某些开发人员使用名称target,builddest(目标)而不是dist.但这些文件夹的目的是相同的.

  • 我认为这最能回答这个问题.dist代表可分发,而不是分发.这是一个目录,一旦所有的东西都被编译,吞咽,编译和生成从所有其他来源和文件和小饰品等..这是你想要分发或指示其他人,它是可分发的! (9认同)