实际发生了什么?
以下使用官方示例:
import io from 'socket.io-client';
在 JS 应用程序中导致 IE 11 中的站点损坏。
我所说的损坏并不是说 socket-io 功能不起作用,而是它破坏了整个 Web 应用程序包的加载,包括错误报告等。因为没有人在 IE 11 上进行测试,可能没有人真正注意到这个错误。
只需在 Web 应用程序中添加import io from 'socket.io-client'
并在 IE 11 中进行测试。
什么是预期?
IE 11 应该加载包
发生这种情况的原因是 package.json 中的“main”值指定了未捆绑的源代码,而不是捆绑的 dist 文件夹,因此源代码被捆绑。 可能一些打包器也处理导入的模块,但我的 Webpack 版本没有,它只处理用户的源代码。
解决方案非常简单,将 dist 文件之一指定为“main”值。
作为一种解决方法,我正在使用此行,该行有效:
import io from 'socket.io-client/dist/socket.io.slim.js'
有同样的问题。 解决方法对我有用:+1:
好的!
解决方法也适用于我,谢谢!
它也适用于我,干得好。 谢谢@hyperknot!!
为了让其他人知道,这是在控制台中:
debug
依赖项已恢复为3.1.0
,不需要转译。 在2.3.1 中发布。
请注意,您还可以使用webpack-remove-debug插件,以删除对调试依赖项的任何调用(直到我们找到提供带和不带调试的构建的正确方法)。
最有用的评论
解决方法也适用于我,谢谢!