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


148

dist/多くのオープンソースプロジェクト(通常はGitHub)で最初にディレクトリを見たので、それが何を意味するのか疑問に思っています。

ではdistvendorlibsrc、と私たちはかなり頻繁に見ていること、他の多くのフォルダ名、私は時々私は自分のフォルダに名前を付ける必要があるか疑問に思います。

私が間違っていたら訂正してください!

  • src:ソースが含まれています。純粋なソースだけの場合もあれば、縮小版の場合もあり、プロジェクトに依存します。
  • vendor:他のオープンソースプロジェクトなど、他の依存関係が含まれています。
  • lib:いい質問です。vendorプロジェクトに応じて、どちらか一方、または両方を見ることができますが、実際には非常に近いです...
  • dist:私が見たところ、「製品」ファイルが含まれています。これは、ライブラリを使用する場合に使用する必要があります

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


3
別の良い答えはここにあります
カツオ

回答:


251

あなたの質問に答えるには:

/dist コンパイル可能なコード/ライブラリである「配布可能」を意味します。

フォルダー構造は、ビルドシステムとプログラミング言語によって異なります。ここにいくつかの標準規約があります:

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

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

  • README.md:セットアップ、チュートリアル、およびプロジェクトのドキュメントを扱うヘルプファイル。README.txtも使用されます。
  • LICENSE.md:プロジェクトに関してあなたに与えられた権利LICENSEまたはLICENSE.txt、同じ内容のライセンスファイル名のバリエーションです。
  • CONTRIBUTING.md:プロジェクトを支援する方法。時々これはREADME.mdファイルで対処されます。

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

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

35
の意味はdistどうですか?
Vadorequest

23
ディストリビューションには、通常、コンパイルされたソフトウェアが含まれています。
0xcaff 2014

2
およそ何assets/フォルダ?何が含まれているはずですか?
セケムティ

2
@Sekhemty、画像、ビデオ、オーディオ、フォントなどの静的コンテンツ
Quaker

&公共向けですか?app.use(express.static(__ dirname + '/ public')); ?? app.use(express.static(__ dirname + '/ dist')); 良い考えではありません
LOG_TAG

54

distフォルダの意味についての元の質問に答えるには:

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

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

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

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


11
これが質問に最もよく答えると思います。distは、配布ではなく配布可能を意味します。これは、すべてが他のすべてのソースやファイル、装身具などからコンパイル、ガルプ、トランスパイル、アセンブル、および生成されたディレクトリです。これは、配布したい、または配布可能であることを他のユーザーに示したいものです。
Eric Bishard、2016

3

フォルダの概要:

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

1

実は!「distフォルダー」は、ソースコードを「npm run build」、「ng build」、または「ng build --prod」でプロダクション用に変更した後に得られる結果です。

その間!「distフォルダー」を取得した後でも、プロジェクトのタイプによっては、実行する必要があることがまだいくつかあるかもしれません✌️

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.