ultima scripts reparar que paquete instalar example dependencias actualizar react-native npm npm-link

react native - scripts - Reaccionar nativo: npm vincular la dependencia local, no se puede resolver el módulo



package.json scripts (5)

Estoy desarrollando un paquete de ui para reaccionar de forma nativa. Intento construir un proyecto de ejemplo para probar este botón. La estructura del directorio es la siguiente:

my-button/ package.json index.js example/ package.json index.js

Intento usar el npm link :

cd my-button npm link cd example npm link my-button

En el example/node_modules/ puedo ver el enlace simbólico de mi botón, VSCode también puede completar automáticamente la función en el paquete de mi botón.

Pero ejecute la aplicación de ejemplo mostrará un error:

Unable to resolve module my-button ... Module does not exist in the module map or in these directories: ...

Pero la ruta en el mensaje de error es correcta.

¿No sabe dónde me equivoqué o en React-Native tengo alguna forma especial de lidiar con la dependencia local de enlaces?

También probé el npm install file:../. . Funciona bien de esta manera, pero no es fácil actualizar la dependencia en el example/ después de que edité mi botón.


Cambia tu paquete.json

//... "dependencies": { //... "my-button" : "file:../" }, //...


El comando npm link no funciona porque el empaquetador React Native no admite los enlaces simbólicos .

Después de una pequeña investigación, descubrí que hay dos maneras de hacerlo.

  1. Utilice el paquete de transporte en la aplicación de ejemplo. Haul admite enlaces simbólicos, por lo que puede utilizar el npm link como de costumbre.
  2. Use la dependencia local a través del file:../ y luego edite los archivos en la carpeta node_modules o reinstálelos cada vez que realice cambios.

Considero que Haul funciona muy bien para este caso de uso e incluso configura un pequeño proyecto de inicio que también incluye un storybook , lo que es realmente útil si tiene muchos componentes entre los que cambiar.


Me encontré con el mismo problema. Si bien no pude hacer que npm link funcione como debería, lo npm link instalando el paquete local en la carpeta del proyecto

npm install ../<package-folder> --save

Esto instalará el paquete como un paquete regular pero desde la carpeta local. El inconveniente es que los cambios que realice en el paquete no se reflejarán. Tendrá que npm install después de cada cambio.


Pruebe wml ( https://github.com/wix/wml )

Es una alternativa al npm link que en realidad copia los archivos modificados de las carpetas de origen a destino

# add the link to wml using `wml add <src> <dest>` wml add ~/my-package ~/main-project/node_modules/my-package # start watching all links added wml start


Tratar de correr

npm run watch

Dentro del paquete de botones. Actualmente, estoy usando esto para aplicar los cambios de la biblioteca a mi proyecto principal. ¡Por favor, déjeme saber si funciona!