J'ai un fichier généré par npm install
commande (en utilisant la tâche preinstall
). Je ne veux pas l'ajouter dans le référentiel git, ni dans le projet NPM.
Supposons que le nom du fichier soit foo.json
, Je l'ai ajouté dans .gitignore
fichier en tant que foo.json
.
Est-ce suffisant pour éviter de le télécharger sur le registre NPM?
Je sais que je peux ajouter .npmignore
fichier qui ignorera sûrement le fichier, mais je ne l'ajouterai pas si .gitignore
le fait déjà.
Si un projet possède à la fois un .npmignore
et .gitignore
fichier, npm utilisera uniquement le .npmignore
fichier.
De la documentation :
Utiliser un
.npmignore
fichier pour garder les trucs hors de votre paquet. S'il n'y a pas de.npmignore
fichier, mais il y a est a.gitignore
fichier, puis npm ignorera le contenu correspondant à.gitignore
fichier. Si vous voulez pour inclure quelque chose qui est exclu par votre.gitignore
fichier, vous pouvez créer un.npmignore
fichier pour le remplacer.
En termes plus simples, npm préfère le .npmignore
fichier s'il est là, mais retombera dans le .gitignore
fichier. Donc, si les deux sont présents, il utilisera le .npmignore
fichier.
Dans de nombreux cas, Git et npm peuvent ignorer les mêmes fichiers, il est donc logique d'utiliser simplement un .gitignore
fichier seul. En cas de divergence (c.-à-d. Que npm et Git doivent ignorer des fichiers différents), vous devez conserver des .gitignore
et .npmignore
des dossiers.
Plus d'informations sur ce qu'il faut mettre .npmignore
fichiers: Dois-je .npmignorer mes tests?
Pour tous ceux qui lisent ceci essaient d'ignorer un fichier/répertoire de git mais souhaitent l'inclure dans npm publish et ont essayé d'utiliser un .npmignore
fichier sans chance. Cela marche.
Dans votre .gitignore
fichier, ajoutez le fichier/répertoire que vous souhaitez exclure **/build
par exemple et dans votre .npmignore
fichier assurez-vous de spécifier le même fichier/répertoire mais avec le !
préfixe donc pour l'exemple de build vous incluriez !**/build