gulp - ¿Cómo investigar "No se puede encontrar el módulo X" proveniente de paquetes explorados?
babeljs browserify (2)
Modo desesperado: Intentó muchas configuraciones diferentes y todas fallaron. Tengo un paquete navegado + babelificado llamado videomail-client.js aquí:
https://github.com/binarykitchen/videomail-client/tree/develop/dist
La entrada principal de package.json de ese paquete apunta a este archivo.
Ahora, cuando require()
ese paquete de otro proyecto dentro y lo navego, lo veo de la tarea de gulp usando browserify:
[16:26:32] Error: Cannot find module ''./keys'' from ''/home/michael-heuberger/code/videomail.io/node_modules/videomail-client/dist''
at /home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:55:21
at load (/home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:69:43)
at onex (/home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:92:31)
at /home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:22:47
at FSReqWrap.oncomplete (fs.js:152:21)
Hmnmm, suena complicado? Déjame reformular. El paquete videomail-client está navegado. Otro proyecto, videomail.io, lo está requiriendo y explorando todos juntos nuevamente con otros paquetes. Ahí está, falla.
En una nota lateral, cuando ejecuto ejemplos independientes usando videomail-client.js, funciona bien.
Creo que el problema es que browserify no puede resolver el archivo ./keys
. Pero debe incluirse en el paquete navegado de videomail-client.js y resolverse desde allí. ¿Cómo puedo decirle a browserify que lo resuelva de la manera correcta?
Las sugerencias dan la bienvenida a cómo puedo investigar y arreglar esto mejor. ¡¡Gracias!!
Esto suena como un problema con el que me encontré hace unos años (y sí, es difícil de describir :))
Nunca recibí una respuesta, pero tal vez tendrás mejor suerte. La solución a la que finalmente recurrí fue no intentar volver a buscar las bibliotecas ya navegadas; Terminé concatenándolo y minificando todo el paquete después.
La solución tiene dos pasos: usar la opción independiente de browserify y el paquete gulp-derequire . Ahora funciona.