Que se passe-t-il réellement ?
En suivant l'exemple officiel d'utilisation :
import io from 'socket.io-client';
dans une application JS entraîne un site cassé dans IE 11.
Par cassé, je ne veux pas dire que la fonctionnalité socket-io ne fonctionne pas, mais qu'elle interrompt le chargement de l'ensemble de l'application Web, y compris les rapports d'erreurs, etc. Parce que personne ne teste sur IE 11, personne n'a probablement vraiment remarqué ce bogue.
Ajoutez simplement import io from 'socket.io-client'
dans une application Web et testez dans IE 11.
Qu'est-ce qui est attendu ?
IE 11 devrait charger le bundle
La raison pour laquelle cela se produit est que la valeur "main" dans package.json spécifie le code source dégroupé, pas le dossier dist groupé, donc le code source est groupé. Il est probable que certains bundlers traitent également les modules importés, mais ma version de Webpack ne le fait pas, elle ne traite que le code source de l'utilisateur.
La solution serait très simple, de spécifier l'un des fichiers dist comme valeur "principale".
Comme solution de contournement, j'utilise cette ligne, qui fonctionne:
import io from 'socket.io-client/dist/socket.io.slim.js'
Avoir ce même problème. La solution de contournement fonctionne pour moi :+1:
Bon!
La solution de contournement fonctionne pour moi aussi, merci!
Cela fonctionne pour moi aussi, bon travail. merci @hyperknot !!
Pour que les autres le sachent, le voici en console :
La dépendance debug
été ramenée à 3.1.0
, qui n'a pas besoin d'être transpilée. Publié en 2.3.1 .
Veuillez noter que vous pouvez également utiliser le plugin webpack-remove-debug , afin de supprimer tout appel à la dépendance de débogage (jusqu'à ce que nous trouvions un moyen approprié de fournir une version avec et sans débogage).
Commentaire le plus utile
La solution de contournement fonctionne pour moi aussi, merci!