Socket.io-client: Chargement interrompu d'IE 11 en raison d'une valeur "principale" incorrecte dans package.json

Créé le 20 févr. 2020  ·  6Commentaires  ·  Source: socketio/socket.io-client

Tu veux:

  • [x] signaler un bogue
  • [ ] demander une fonctionnalité

Comportement actuel

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.

Étapes à reproduire (si le comportement actuel est un bug)

Ajoutez simplement import io from 'socket.io-client' dans une application Web et testez dans IE 11.

Comportement attendu

Qu'est-ce qui est attendu ?

IE 11 devrait charger le bundle

Installer

  • Système d'exploitation : gagner 10
  • navigateur : IE 11
  • version socket.io :

Autres informations (par exemple, stacktraces, problèmes connexes, suggestions de résolution)

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'

Commentaire le plus utile

La solution de contournement fonctionne pour moi aussi, merci!

Tous les 6 commentaires

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 :
image

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).

Cette page vous a été utile?
0 / 5 - 0 notes