web-dev-qa-db-ja.com

オープンソースプロジェクトの/ distディレクトリの意味は何ですか?

多くのオープンソースプロジェクト(通常はGitHub)でdist/ディレクトリを最初に見たので、それが何を意味するのか疑問に思っていました。 (私は外国人です、英語のネイティブではありません)

distvendorlibsrc、およびよく見かける他の多くのフォルダー名を使用して、自分のフォルダーにどのように名前を付けるべきか疑問に思うことがあります。

私が間違っている場合は修正してください!

  • src:* sources **が含まれます。時々、純粋なソースのみ、場合によっては縮小されたバージョンのみがプロジェクトに依存します。
  • ベンダー:他のオープンソースプロジェクトのような他の依存関係が含まれています。
  • lib:良い質問です。実際にvendorに近いのですが、プロジェクトに応じて、どちらかまたは両方を見ることができます...
  • dist:私が見たものから、それはlibraryを使用したい場合に使用すべき「本番」ファイルを含んでいます。

オープンソースがとても混乱しているのはなぜですか?より明確に物事を行うことはできませんか?一部の言語は特定の名前を使用するため、少なくとも言語ごと。

120
Vadorequest

質問に答えるには:

/distは、「配布」、つまりコンパイルされたコード/ライブラリを意味します。

フォルダ構造は、ビルドシステムとプログラミング言語によって異なります。標準的な規則を次に示します。

  • src/:プロジェクトをビルドおよび開発するための「ソース」ファイル。これは、dist/public/、またはbuild/にコンパイルされる前の元のソースファイルの場所です。
  • dist/:「配布」、コンパイルされたコード/ライブラリ。public/またはbuild/とも呼ばれます。通常、本番用または公共用のファイルはここにあります。
  • lib/:外部依存関係(直接含まれる場合)。
  • test/:プロジェクトのテストスクリプト、モックなど。
  • node_modules/:Npmによって使用されるJSパッケージのライブラリと依存関係が含まれます。
  • vendor/:Composerが使用するPHPパッケージのライブラリと依存関係が含まれます。
  • bin/:インストール時にPATHに追加されるファイル。

マークダウン/テキストファイル:

  • README.md:セットアップ、チュートリアル、およびプロジェクトの文書化に対応するヘルプファイル。 README.txtも使用されます。
  • LICENSE.md:any rights プロジェクトに関して与えられたもの。 LICENSEまたはLICENSE.txtは、同じ内容のライセンスファイル名のバリエーションです。
  • CONTRIBUTING.md:プロジェクトの help out の方法。時々、これはREADME.mdファイルで対処されます。

特定(これらは永遠に続く可能性があります):

  • package.json:Npmによって使用されるJSパッケージのライブラリと依存関係を定義します。
  • package-lock.jsonpackage.jsonからインストールされた依存関係の特定のバージョンロック。Npmによって使用されます。
  • composer.json:Composerが使用するPHPパッケージのライブラリと依存関係を定義します。
  • composer.lock:Composerによって使用されるcomposer.jsonからインストールされた依存関係の特定のバージョンロック。
  • gulpfile.js:Gulpで実行される関数とタスクの定義に使用されます。
  • .travis.ymlTravis CI 環境の設定ファイル。
  • .gitignore:Gitによる 無視される を意味するファイルの仕様。
180
0xcaff

distフォルダーの意味に関する元の質問に答えるには:

ショートフォームdistdistributableを表し、再利用されているソースコードをコンパイルまたは縮小する必要なく、他のユーザーが直接使用できるファイルが格納されるディレクトリを指します。

例:誰かが書いたJavaライブラリのソースコードを使用する場合、まずソースをコンパイルして使用する必要があります。しかし、ライブラリの作成者がプリコンパイル済みバージョンをリポジトリに既に配置している場合は、先に進むことができます。そのようなすでにコンパイルされたバージョンは、distディレクトリに保存されます。

JavaScriptモジュールにも同様のことが当てはまります。通常、JavaScriptコードは本番環境で使用するために縮小および難読化されています。したがって、JavaScriptライブラリを配布する場合は、プレーン(縮小されていない)ソースコードをsrc(ソース)ディレクトリに配置し、縮小および難読化されたバージョンをdist(配布可能)に配置することをお勧めしますそのため、他の人は自分で縮小せずに縮小版をすぐに入手できます。

注:一部の開発者は、targetの代わりにbuilddest、またはdist(宛先)などの名前を使用します。ただし、これらのフォルダーの目的は同じです。

48

フォルダーの要約:

  • bin:バイナリ
  • src:ソース
  • include:C/C++ヘッダー
  • lib:C/C++ライブラリ
  • contrib:他の人からの貢献
  • doc/docs:ドキュメント
  • man:マニュアル(Unix/Linux)
3
Travor Liu