J'utilise le module node_swiz, qui à son tour utilise le module validator.
Je souhaite apporter des modifications au module de validation, mais j'ai utilisé npm install pour installer les modules / dépendances.
Puis-je simplement apporter des modifications au module de validation à l'intérieur de node_modules, ou ces dépendances node_modules seront-elles recréées et la dernière version sera-t-elle obtenue lorsque je publie sur heroku ou la prochaine fois que j'exécuterai npm install?
La structure ressemble à ceci:
myNodeApplication
- node_modules
- swiz
- node_modules
- validator [this is the library I want to edit]
Merci pour l'aide!
/node_modules
et exécuter,npm install
alors tout va bien!Vous pouvez utiliser patch-package pour apporter et conserver les modifications des modules de nœud.
Cela peut être fait en apportant d'abord des modifications au package à l'intérieur
node_modules
, puis en exécutant la commande suivante, avec<package name>
le nom du package auquel vous venez d'apporter des modifications.patch-package créera alors un
patches
dossier avec un fichier à l'intérieur, représentant vos modifications. Ce fichier peut ensuite être validé dans git, et les correctifs peuvent être restaurés plus tard en exécutantnpx patch-package
(sans aucun argument).Étape facultative:
Ajoutez ce qui suit dans la section script de votre package.json pour corriger automatiquement la dépendance lorsque vous exécutez "npm install".
la source
Je ne voulais pas publier un nouveau module et je ne voulais pas non plus
npm install
écraser mes modifications. J'ai trouvé une solution à ces deux problèmes, mais il serait probablement préférable de suivre les conseils de @ Sdedelbrock. Mais si vous voulez le faire, voici comment:package.json
fichier pour supprimer la dépendance que vous souhaitez modifier./node_modules
et déplacez le dossier ailleurs dans votre référentiel qui peut être validé. Alors maintenant/node_modules/dependency
est à/dependency
cd
dans le répertoire des dépendances et tapeznpm link
cd
dans la racine de votre répertoire de projet et tapeznpm link dependency
Il est important que vous le fassiez en dehors de/node_modules
et/dependency
Si tout fonctionnait, vous devriez maintenant avoir un lien symbolique qui a été créé dans
/node_modules/dependency
. Vous pouvez maintenant exécuter votre projet pour voir s'il fonctionne.la source