web-dev-qa-db-ja.com

NPMは.gitignoreにリストされているファイルを無視しますか?

npm installコマンド(preinstallタスクを使用)によって生成されたファイルがあります。 gitリポジトリにもNPMプロジェクトにも追加したくありません。

ファイル名がfoo.jsonだとすると、.gitignoreファイルにfoo.jsonとして追加しました。

NPMレジストリにアップロードするのを避けるのにこれで十分ですか?

ファイルを確実に無視する.npmignoreファイルを追加できることは知っていますが、.gitignoreが既にこれを行っている場合は追加しません。

68
Ionică Bizău

プロジェクトに.npmignoreファイルと.gitignoreファイルの両方がある場合、npmは.npmignoreファイルをonly使用します。

ドキュメント から:

.npmignoreファイルを使用して、パッケージに物を入れないようにします。 .npmignoreファイルがないが、is.gitignoreファイルがある場合、npmは.gitignoreファイルに一致するものを無視します。 want.gitignoreファイルによって除外されるものを含める場合、空の.npmignoreファイルを作成して上書きできます。

簡単に言えば、npm prefers.npmignoreファイルがあればそこにありますが、.gitignoreファイルにフォールバックします。したがって、両方が存在する場合は、.npmignoreファイルを使用します。

多くの場合、Gitとnpmは同じファイルを無視できるため、.gitignoreファイルを単独で使用するのが理にかなっています。矛盾がある場合(つまり、npmとGitは異なるファイルを無視する必要がある場合)、.gitignoreファイルと.npmignoreファイルを別々に維持する必要があります。

.npmignoreファイルに何を入れるかについての詳細: テストを.npmignoreすべきですか?

114
cmbuckley

これを読んでいる人は、gitからのファイル/ディレクトリを無視しようとしていますが、npm publishに含めて空の.npmignore運のないファイル。これは動作します。

あなたの.gitignoreファイル、除外するファイル/ディレクトリを追加**/buildたとえば、あなたの.npmignoreファイルでは、必ず同じファイル/ディレクトリを指定しますが、!プレフィックスなので、ビルド例では!**/build

12
Stewart Duffy