多くのオープンソースプロジェクト(通常はGitHub)でdist/
ディレクトリを最初に見たので、それが何を意味するのか疑問に思っていました。 (私は外国人です、英語のネイティブではありません)
dist
、vendor
、lib
、src
、およびよく見かける他の多くのフォルダー名を使用して、自分のフォルダーにどのように名前を付けるべきか疑問に思うことがあります。
私が間違っている場合は修正してください!
vendor
に近いのですが、プロジェクトに応じて、どちらかまたは両方を見ることができます...オープンソースがとても混乱しているのはなぜですか?より明確に物事を行うことはできませんか?一部の言語は特定の名前を使用するため、少なくとも言語ごと。
質問に答えるには:
/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.json
:package.json
からインストールされた依存関係の特定のバージョンロック。Npmによって使用されます。composer.json
:Composerが使用するPHPパッケージのライブラリと依存関係を定義します。composer.lock
:Composerによって使用されるcomposer.json
からインストールされた依存関係の特定のバージョンロック。gulpfile.js
:Gulpで実行される関数とタスクの定義に使用されます。.travis.yml
: Travis CI 環境の設定ファイル。.gitignore
:Gitによる 無視される を意味するファイルの仕様。dist
フォルダーの意味に関する元の質問に答えるには:
ショートフォームdist
はdistributable
を表し、再利用されているソースコードをコンパイルまたは縮小する必要なく、他のユーザーが直接使用できるファイルが格納されるディレクトリを指します。
例:誰かが書いたJavaライブラリのソースコードを使用する場合、まずソースをコンパイルして使用する必要があります。しかし、ライブラリの作成者がプリコンパイル済みバージョンをリポジトリに既に配置している場合は、先に進むことができます。そのようなすでにコンパイルされたバージョンは、dist
ディレクトリに保存されます。
JavaScriptモジュールにも同様のことが当てはまります。通常、JavaScriptコードは本番環境で使用するために縮小および難読化されています。したがって、JavaScriptライブラリを配布する場合は、プレーン(縮小されていない)ソースコードをsrc
(ソース)ディレクトリに配置し、縮小および難読化されたバージョンをdist
(配布可能)に配置することをお勧めしますそのため、他の人は自分で縮小せずに縮小版をすぐに入手できます。
注:一部の開発者は、target
の代わりにbuild
、dest
、またはdist
(宛先)などの名前を使用します。ただし、これらのフォルダーの目的は同じです。
フォルダーの要約: