SCRIPT1002:IE11 中的 Next JS 网站语法错误(getSession)

SCRIPT1002: Syntax error in Next JS website in IE11 (getSession)

我是 NextJS 的新手,但我已经成功地创建了一个在除 IE11 之外的所有浏览器中都能正常运行的网站。控制台中的问题显示....

SCRIPT1002: Syntax error
_app.js (20481,19)

这是 _getSession 行 //HERE!!!

var __NEXTAUTH = {
  baseUrl: (0, _parseUrl.default)(process.env.NEXTAUTH_URL || process.env.VERCEL_URL).baseUrl,
  basePath: (0, _parseUrl.default)(process.env.NEXTAUTH_URL).basePath,
  keepAlive: 0,
  clientMaxAge: 0,
  _clientLastSync: 0,
  _clientSyncTimer: null,
  _eventListenersAdded: false,
  _clientSession: undefined,
  _clientId: Math.random().toString(36).substring(2) + Date.now().toString(36),
  _getSession: () => {}  //HERE!!!
};

import { getSession } from 'next-auth/client'

导入

还有第二个错误:

SCRIPT1002: Syntax error
index.js (44675,30)

这是哪一行var isHTMLElement = (value) => value instanceof HTMLElement;

有什么想法可以找到这些错误的问题,或者以前有人遇到过这些错误吗? 谢谢

如果我们尝试查看有问题的代码行,那么我们会注意到它包含 => Arrow functionsArrow functions IE 浏览器不支持。

需要将其转换为普通函数才能在IE浏览器中运行

如果这个函数多次出现那么你可以尝试使用BabelJS将ES6代码转译为ES5代码。这可以很容易地解决问题。

这里有一些参考线程,可能会给您一些额外的信息。