【发布时间】:2021-10-25 03:54:45
【问题描述】:
所以我从 CRA 迁移到 Next Js。起初,当我从 CRA 迁移到下一个 js 时,我的应用程序在 IE 11 上运行良好(每次我进行更改时我都在 IE 上对其进行测试)。但是后来我忘了在 IE 上测试,现在我在 nextjs 上完全迁移了我的应用程序,我试图在 IE 上打开它,现在由于这个错误页面没有完全加载,(在开发模式和产品模式下) .我注意到当我尝试添加具有套接字 io-client 的页面和组件时会发生此错误,我认为该错误位于 node_modules 中的 debug/src/browser 中。我没有得到的是我的 CRA 应用程序也有这种依赖关系,但为什么它可以在 IE 上运行,而 Nextjs 版本却不能呢?我使用了我的旧 CRA 应用,然后刚刚安装,并进行了更改,所以它有 babel。
这是错误:
SCRIPT1002: Syntax error
_app.js (24050,23)
现在当我点击它时,这是发生错误的代码
exports.formatArgs = formatArgs;
exports.save = save;
exports.load = load;
exports.useColors = useColors;
exports.storage = localstorage();
exports.destroy = (() => {
let warned = false;
return () => {
if (!warned) {
warned = true;
console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
}
};
})();
请帮帮我!谢谢。
【问题讨论】:
-
恐怕我无法重现您的问题。此错误消息指的是哪一行代码?据我所知,IE11不支持
arrow function,而且在你的代码中,可能有没有转成ES5的ES6语法代码,这里是a similar case。 -
@XudongPeng,这段代码来自node_modules,在调试依赖下。如果我删除具有套接字 io 的页面/组件,我的应用程序就可以正常工作。现在即使尝试
import io from "socket.io-client",我也会得到这种错误。我什至尝试创建下一个应用程序,我使用了 create-next-app,并创建了一个页面只是为了导入套接字 io 客户端,但在 IE 11 中仍然出现此错误。 -
@XudongPeng ,我研究了很多,找不到答案,我想知道为什么我是唯一一个遇到这种情况的人,我什至使用 create-next-app 创建了一个新的下一个应用程序只是像这样导入套接字 io ->
import io from "socket.io-client"在 index.js 页面上,我仍然收到此错误。我猜这个错误不在我的代码上。我还尝试使用next-transpile-modules转换在 IE 中发生错误的每个依赖项,但它只是永无止境,我只是以错误循环结束。 -
根据你提到的socket.io.client模块,我搜索了相关案例,发现了这个已知问题:Failing to load the file in IE。你的模块版本是多少?您可以尝试降低模块版本。
-
@XudongPeng 我刚刚尝试降级我的socketio-client版本,它仍然没有工作。我刚刚得到一个无限循环的错误,说对象不支持这个模块等等。我想这意味着 IE 仍然不支持某些代码。我想知道为什么最新版本的 socketio-client 可以在 CRA 上运行,但不能在 Nextjs 上运行。
标签: reactjs internet-explorer next.js node-modules create-react-app