web-dev-qa-db-ja.com

Node.jsに適した `.gitignore`

ツリー構造

これが私のNode.jsプロジェクトの構成です。

/
| - node_modules               [+ INCLUDE]
|   | - my-mod1
|   |   | - node_modules       [- IGNORE]
|   |   |   | - external-mod1 
|   |   |   | - external-mod2 
|   |   | - src
|   |   |   | - node_modules   [+ INCLUDE]
|   |   |   |   | - my-mod2 
|   |   |   |   | - my-mod3
|   | - my-mod4

私の計画

プロジェクトをGitHubに公開する場合:

  • 欲しいmy-modsを含めたい。
  • したくないexternal-modsを含めます。

つまり:

  • トップレベルの/node_modulesフォルダを含めるには欲しいにします。
  • モジュールフォルダーの直接の子であるnode_modulesフォルダーを含めるしたくない
  • しかし、私は欲しいsrcフォルダーの子であるnode_moduelsフォルダーを含めるようにしています。

私がしたこと

/.gitignoreに次の行を追加しました:

#################  
## npm
#################

npm-debug.log
node_modules/
!/node_modules/
!src/node_modules/

私の質問

(上記のように).gitignore rules適切なnode_modulesフォルダを含めるにはどのフォルダが必要ですか?

ありがとうございます。不明な点があればコメントしてください。

14
fdj815

構造は非常に整理されているため、このパターンを使用してタスクを実行できます。

/node_modules/*/node-modules/ 

上記のパターンは、モジュールフォルダー、my-mod1、my-mod4などの下のnode_modulesを無視します。

上記の行では、Githubにプッシュするときに、srcディレクトリの下のnode_modulesを含めることができます。

14
functionoid

node_modules/**/node_modulesは、あなたがやろうとしていることに対して機能するはずです。

ヒント: GitHubが提供 標準.gitignoreNode などのさまざまな言語用です。

8
ben.snape

ご回答ありがとうございます。

私は条件を再考し、反対の方法で条件を宣言することにしました-それは完全に機能します

node_modules/*/node_modules

これが将来の誰にでも役立つことを願っています。

4
fdj815
node_modules/*
!node_modules/**/node_modules

多分?

0
StuR