Estoy usando el módulo node_swiz, que a su vez usa el módulo validador.
Quiero hacer cambios en el módulo de validación, pero usé npm install para instalar los módulos / dependencias.
¿Puedo simplemente hacer cambios en el módulo de validación dentro de node_modules, o se volverán a crear las dependencias de node_modules y se obtendrá la última versión cuando publique en heroku o la próxima vez que ejecute npm install?
La estructura se ve así:
myNodeApplication
- node_modules
- swiz
- node_modules
- validator [this is the library I want to edit]
¡Gracias por la ayuda!
/node_modules
y ejecutarlo, ¡npm install
entonces todo está bien!Puede utilizar patch-package para realizar y conservar cambios en los módulos de nodo.
Esto se puede hacer primero haciendo cambios en el paquete interno
node_modules
y luego ejecutando el siguiente comando,<package name>
siendo el nombre del paquete en el que acaba de realizar los cambios.patch-package luego creará una
patches
carpeta con un archivo dentro, que representará sus cambios. Este archivo se puede enviar a git y los parches se pueden restaurar más tarde ejecutandonpx patch-package
(sin argumentos).Paso opcional:
Agregue lo siguiente en la sección de script de su package.json para parchear automáticamente la dependencia cuando ejecute "npm install".
fuente
No quería publicar un módulo nuevo y tampoco quería
npm install
sobrescribir mis cambios. Encontré una solución para ambos problemas, pero probablemente sería mejor seguir el consejo de @ Sdedelbrock. Pero si quieres hacerlo, así es como:package.json
archivo para eliminar la dependencia que desea editar./node_modules
y mueva la carpeta a algún otro lugar de su repositorio que pueda ser comprometido. Así que ahora/node_modules/dependency
está en/dependency
cd
en el directorio de dependencia y escribanpm link
cd
en la raíz del directorio de su proyecto y escribanpm link dependency
Es importante que haga esto fuera de/node_modules
y/dependency
Si todo funcionó, ahora debería tener un enlace simbólico creado en formato
/node_modules/dependency
. Ahora puede ejecutar su proyecto para ver si funciona.fuente