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-mod
s. - Je ne veux pas pour inclure le
external-mod
s.
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'unesrc
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
Vous devez vous connecter pour publier un commentaire.
Depuis votre structure est tout à fait organisé, vous pourriez utiliser ce modèle pour accomplir la tâche.
Ci-dessus motif de les ignorer node_modules sous dossiers de module, mon-mod1,mon mod4 et autres.
La ligne ci-dessus auront toujours la possibilité de le node_modules sous répertoire src être inclus lorsque vous appuyez à github.
OriginalL'auteur functionoid
node_modules/**/node_modules
doit travailler pour ce que vous essayez de faire.Astuce: GitHub fournit standard
.gitignore
's pour les différentes langues comme le Nœud.github/gitignore
référentiel, mais il n'y avait pas quelque chose de convenable pour mon cas d'utilisation.Je pensais que vous n'avez probablement mais il est toujours pratique de faire remarquer 🙂 la
.gitignore
ligne de travail pour vous?Non, c'est une bonne idée (merci), mais n'a malheureusement pas gérer la
./node_modules
à l'intérieur de lasrc
dossiers correctement. - J'ai essayé de définir la condition d'une autre manière (voir ma propre réponse).OriginalL'auteur ben.snape
Merci pour vos réponses.
J'ai repensé la condition et a décidé de déclarer l'état de l'autre -, il fonctionne parfaitement:
J'espère c'est de pouvoir aider quelqu'un dans le futur.
OriginalL'auteur fdj815
peut-être?
OriginalL'auteur StuR