Approprié".gitignore " Pour Node.js

Structure de l'arbre

C'est la façon dont ma Node.js le projet est organisé:

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

Mon plan

Lors de la publication de mon projet sur GitHub:

  • Je voulez inclure my-mods.
  • Je ne veux pas pour inclure le
    external-mods.

Qui signifie:

  • Je voulez d'inclure le haut-niveau /node_modules dossier.
  • Je ne veux pas inclure node_modules dossiers qui sont direct childs d'un dossier du module.
  • Mais je voulez inclure node_moduels dossiers qui sont childs d'une src dossier.

Ce que j'ai fait

J'ai ajouté les lignes suivantes à /.gitignore:

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

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

Ma question

Qui .gitignore règles ai-je besoin pour inclure le droit node_modules dossiers (comme décrit ci-dessus)?

Merci - si quelque chose n'est pas clair, s'il vous plaît commentaire.

Personnellement, y compris toute node_modules qui pourraient être récupérées avec une npm-installer une mauvaise odeur. Il y a plusieurs endroits sur le web j'ai lu cela, en voici un: blog.heroku.com/archives/2015/11/10/node-habits-2016 et en fait il a causé des problèmes de déploiement pour moi une fois parce que certains node_modules a besoin d'être construit d'une certaine manière pour les différentes plates-formes

OriginalL'auteur fdj815 | 2013-02-19