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.
Cukup tambahkan import io from 'socket.io-client'
di aplikasi web dan uji di IE 11.
Apa yang diharapkan?
IE 11 harus memuat bundel
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'
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:
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).
Komentar yang paling membantu
Solusi bekerja untuk saya juga, terima kasih!