/node_modules/XXX/index.js:XXX XXX ??= X;SyntaxError: Unexpected token ‘??=‘

这问题 老实说有点奇葩 不影响运行 反倒运行提交了
/node_modules/XXX/index.js:XXX XXX ??= X;SyntaxError: Unexpected token ‘??=‘_第1张图片
不解决这个问题提交不了代码

这个错误是由于语法不兼容导致的。??= 是一个相对较新的 JavaScript 语法,也就是空值合并赋值操作符,它在 Node.js 版本低于 15 或者某些浏览器中不被支持。

那么 了解了问题 我们就有对应的解决方案
但其实 我不太建议去动自己的node版本

我们根据报错 找到这个目录下的 index.js文件 以及报错的语法
/node_modules/XXX/index.js:XXX XXX ??= X;SyntaxError: Unexpected token ‘??=‘_第2张图片
这个 ??= 的意思是 如果这个东西没有值 才赋值
所以

this.options.fields ??= {};

改为

if (!this.options.fields) {
  this.options.fields = {};
}

即可 但 既然是语法报错 node版本不支持 我们自然要都改完它 免得再报错
/node_modules/XXX/index.js:XXX XXX ??= X;SyntaxError: Unexpected token ‘??=‘_第3张图片
老实说 改完之后 明显感觉还是改之前比较好看 但也没办法 毕竟我们不想动node版本

你可能感兴趣的:(javascript,开发语言,ecmascript)