Socket.io-client: package.jsonの「メイン」値が間違っているため、IE11の読み込みが壊れています

作成日 2020年02月20日  ·  6コメント  ·  ソース: socketio/socket.io-client

あなたはしたい:

  • [x]バグを報告する
  • []機能をリクエストする

現在の動作

実際に何が起こっているのですか?

使用の公式例に従う:

import io from 'socket.io-client';

JSアプリでは、IE11のサイトが壊れます。

壊れているということは、socket-io機能が機能しないという意味ではありませんが、エラー報告などを含むWebアプリのバンドル全体の読み込みが壊れていることを意味します。IE11でテストする人はいないため、おそらく誰もこのバグに気づいていません。

再現手順(現在の動作がバグの場合)

Webアプリにimport io from 'socket.io-client'を追加し、IE11でテストするだけです。

期待される動作

何が期待されますか?

IE11はバンドルをロードする必要があります

設定

  • OS:Win 10
  • ブラウザ:IE 11
  • socket.ioバージョン:

その他の情報(例:スタックトレース、関連する問題、修正方法の提案)

これが発生する理由は、package.jsonの「main」値がバンドルされたdistフォルダーではなく、バンドルされていないソースコードを指定しているため、ソースコードがバンドルされているためです。 おそらく一部のバンドラーもインポートされたモジュールを処理しますが、私のバージョンのWebpackは処理せず、ユーザーのソースコードのみを処理します。

解決策は非常に簡単で、distファイルの1つを「メイン」値として指定します。

回避策として、次の行を使用しています。

import io from 'socket.io-client/dist/socket.io.slim.js'

最も参考になるコメント

回避策は私にも有効です、ありがとう!

全てのコメント6件

これと同じ問題があります。 回避策は私のために働きます:+1:

良い!

回避策は私にも有効です、ありがとう!

それは私にもうまくいきます、グッドジョブ。 ありがとう@hyperknot !!

他の人が知っているように、ここではコンソールにあります:
image

debug依存関係は3.1.0に戻されましたが、これはトランスパイルする必要はありません。 2.3.1でリリースされました。

デバッグ依存関係への呼び出しを削除するために、 webpack-remove-debugプラグインを使用することもできることに注意してください(デバッグありとなしでビルドを提供する適切な方法が見つかるまで)。

このページは役に立ちましたか?
0 / 5 - 0 評価