Socket.io-client: 由于 package.json 中的“main”值错误,IE 11 加载中断

创建于 2020-02-20  ·  6评论  ·  资料来源: socketio/socket.io-client

你想要:

  • [x] 报告错误
  • [ ] 请求功能

当前行为

实际发生了什么?

以下使用官方示例:

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 应该加载包

设置

  • 操作系统:Win 10
  • 浏览器:IE 11
  • socket.io 版本:

其他信息(例如堆栈跟踪、相关问题、如何修复的建议)

发生这种情况的原因是 package.json 中的“main”值指定了未捆绑的源代码,而不是捆绑的 dist 文件夹,因此源代码被捆绑。 可能一些打包器也处理导入的模块,但我的 Webpack 版本没有,它只处理用户的源代码。

解决方案非常简单,将 dist 文件之一指定为“main”值。

作为一种解决方法,我正在使用此行,该行有效:

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 等级

相关问题

catamphetamine picture catamphetamine  ·  3评论

BorntraegerMarc picture BorntraegerMarc  ·  4评论

vadimka123 picture vadimka123  ·  6评论

Warrior-hound picture Warrior-hound  ·  5评论

najibghadri picture najibghadri  ·  7评论