¿Qué está pasando realmente?
Siguiendo el ejemplo oficial de uso:
import io from 'socket.io-client';
en una aplicación JS da como resultado un sitio roto en IE 11.
Por roto no me refiero a que la funcionalidad de socket-io no funcione, sino que se rompe al cargar el paquete completo de la aplicación web, incluidos los informes de errores, etc. Debido a que nadie prueba en IE 11 probablemente nadie realmente notó este error.
Simplemente agregue import io from 'socket.io-client'
en una aplicación web y pruebe en IE 11.
¿Lo que es esperado?
IE 11 debería cargar el paquete
La razón por la que esto sucede es porque el valor "principal" en package.json especifica el código fuente desagregado, no la carpeta dist empaquetada, por lo que el código fuente se empaqueta. Probablemente algunos paquetes también procesan los módulos importados, pero mi versión de Webpack no lo hace, solo procesa el código fuente del usuario.
La solución sería muy simple, especificar uno de los archivos dist como el valor "principal".
Como solución, estoy usando esta línea, que funciona:
import io from 'socket.io-client/dist/socket.io.slim.js'
Tiene este mismo problema. La solución me funciona: +1:
¡Bien!
La solución también funciona para mí, ¡gracias!
A mí también me funciona, buen trabajo. gracias @hyperknot !!
Para que otros sepan, aquí está en consola:
La dependencia debug
se revirtió a 3.1.0
, que no necesita transpilarse. Publicado en 2.3.1 .
Tenga en cuenta que también puede usar el complemento webpack-remove-debug para eliminar cualquier llamada a la dependencia de depuración (hasta que encontremos una forma adecuada de proporcionar una compilación con y sin depuración).
Comentario más útil
La solución también funciona para mí, ¡gracias!