nodeComment modifier élégamment les bibliothèques dépendantes de node_modules dans le projet ? L'article suivant vous montrera comment modifier élégamment les bibliothèques dépendantes dans node_modules. J'espère que cela vous sera utile !
J'ai récemment utilisé un projet open source au sein de l'entreprise. En raison de besoins commerciaux (non adapté aux modifications commerciales MR), je dois simplement modifier le code source de @tencent/wuji-server-lite. json est le suivant :
"dependencies": { "@tencent/taf-config": "^2.0.4", "@tencent/wuji-server-lite": "2.0.30", "patch-package": "^6.2.0" }
Généralement, nous avons deux approches :
Méthode 1 : Changer le nom du code modifié, le reconditionner et le soumettre à tnpm, puis référencer directement ce nouveau package
Méthode 2 : déplacer la copie de code hors de node_modules en tant que dépendance locale
Quelle que soit la méthode ci-dessus utilisée, en tant que passionné de code, je me sens très gêné d'avoir modifié une ou deux lignes de code dans un certain cas. fichier, mais j'ai dû copier l'intégralité du projet d'une manière tellement lourde, encore plus. Le pire, c'est que vous risquez d'oublier ce que vous avez modifié à la fin, et il n'y a aucune différence à retracer.
J'ai consulté plusieurs utilisateurs de nodejs à cette époque. Au cours des deux dernières années, lorsque je n'utilisais pas nodejs, nodejs avait-il fourni des méthodes avancées pour résoudre ce problème ? Par exemple, je pouvais spécifier node_modules. est remplacé par un autre local ? La réponse est non.
Soudain, j'ai eu l'idée de créer un package npm pour résoudre moi-même ce genre de problème, puis je l'ai recherché sur Google à l'avance comme d'habitude, pour découvrir qu'une telle chose existait déjà, appelée patch-package (https://www .npmjs.com/package/patch-package), il semble que la date de sortie était il y a deux ans. Si je n'avais pas créé le jeu de poulet mobile à mi-chemin, peut-être que cette bibliothèque aurait été créée par moi en premier lieu, haha.
Puisque je n’ai pas besoin de réinventer une roue, permettez-moi de vous expliquer comment l’utiliser ensuite.
1. Installation locale, npm i patch-package
2. Ajoutez { "postinstall": "patch-package" } aux scripts de package.json, qui sera installé après le dépendant. Le package est installé. Exécutez
3. Modifiez le code dans node_modules
4. Générez des correctifs, npx patch-package your-package-name
5. Après avoir soumis les correctifs, réinstallez le package et vous constaterez qu'il s'agit du package. résultat de votre modification
Enfin, il y a une comparaison très détaillée sur le site officiel de cette bibliothèque, qui décrit quand utiliser le patch et quand forker. La description est très précise :
Pour plus de nœud. -connaissances connexes, veuillez visiter : tutoriel nodejs !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!