Socket.io-client: Pemuatan IE 11 rusak karena nilai "utama" yang salah di package.json

Dibuat pada 20 Feb 2020  ·  6Komentar  ·  Sumber: socketio/socket.io-client

Yang kamu ingin:

  • [x] laporkan bug
  • [ ] meminta fitur

Perilaku saat ini

Apa yang sebenarnya terjadi?

Berikut contoh resmi penggunaan:

import io from 'socket.io-client';

di aplikasi JS menghasilkan situs yang rusak di IE 11.

Dengan rusak, saya tidak bermaksud bahwa fungsionalitas socket-io tidak berfungsi, tetapi itu merusak memuat seluruh bundel aplikasi web, termasuk pelaporan kesalahan, dll. Karena tidak ada yang menguji pada IE 11 mungkin tidak ada yang benar-benar memperhatikan bug ini.

Langkah-langkah untuk mereproduksi (jika perilaku saat ini adalah bug)

Cukup tambahkan import io from 'socket.io-client' di aplikasi web dan uji di IE 11.

Perilaku yang diharapkan

Apa yang diharapkan?

IE 11 harus memuat bundel

Mempersiapkan

  • OS: Menangkan 10
  • peramban: IE 11
  • versi socket.io:

Informasi lain (mis. stacktrace, masalah terkait, saran cara memperbaikinya)

Alasan hal ini terjadi adalah karena nilai "utama" di package.json menentukan kode sumber yang tidak dibundel, bukan folder dist yang dibundel, sehingga kode sumber dibundel. Mungkin beberapa bundler juga memproses modul yang diimpor, tetapi versi Webpack saya tidak, hanya memproses kode sumber pengguna.

Solusinya akan sangat sederhana, untuk menentukan salah satu file dist sebagai nilai "utama".

Sebagai solusinya saya menggunakan baris ini, yang berfungsi:

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

Komentar yang paling membantu

Solusi bekerja untuk saya juga, terima kasih!

Semua 6 komentar

Punya masalah yang sama. Solusinya bekerja untuk saya :+1:

Bagus!

Solusi bekerja untuk saya juga, terima kasih!

Ini bekerja untuk saya juga, Good Job. terima kasih @hyperknot!!

Agar yang lain tahu, ini dia di konsol:
image

Ketergantungan debug dikembalikan ke 3.1.0 , yang tidak perlu ditranspilasikan. Dirilis di 2.3.1 .

Harap perhatikan bahwa Anda juga dapat menggunakan plugin webpack-remove-debug , untuk menghapus panggilan apa pun ke dependensi debug (sampai kami menemukan cara yang tepat untuk menyediakan build dengan dan tanpa debug).

Apakah halaman ini membantu?
0 / 5 - 0 peringkat