You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在VS Code的Quokka.js中使用新JS数组方法报错求助

解决Quokka.js中toSorted()等ES2023数组方法报错问题

你遇到的numbers.toSorted is not a function错误,是因为toSorted()、toReversed()、with()、toSpliced()这些是ES2023(ES14)新增的不可变数组方法,Quokka.js默认运行环境可能未启用对应版本的JS支持,或者依赖的Node.js版本过低。以下是具体解决步骤:

1. 升级Node.js版本

这些方法需要Node.js 18.11.0及以上版本(V8引擎10.9+实现),建议直接升级到20.x LTS版本:

  • 终端执行node -v查看当前版本
  • 版本不足时,下载安装对应版本的Node.js

2. 配置Quokka.js启用ES2023支持

方式一:通过VS Code设置

打开VS Code设置(快捷键Ctrl+,),搜索Quokka: Javascript Version,将值设置为ESNext或2023。

方式二:通过项目配置文件

在项目根目录创建quokka.config.js,添加以下配置:

module.exports = {
  js: {
    version: "ES2023"
  }
};

3. 旧环境兼容方案(无法升级Node时)

如果必须使用低版本Node,可通过Babel polyfill实现兼容:

  1. 安装依赖:
npm install @babel/core @babel/preset-env core-js --save-dev
  1. 修改quokka.config.js:
module.exports = {
  babel: true,
  babelOptions: {
    presets: [
      ["@babel/preset-env", {
        targets: { node: "current" },
        useBuiltIns: "usage",
        corejs: 3
      }]
    ]
  }
};

验证修复

修改完成后重新运行Quokka,你的代码应该正常输出:

  • 原数组numbers保持不变:[5, 4, 1, 2, 3]
  • 排序后的result:[1, 2, 3, 4, 5]

另外注意:你提到的toReserved()是笔误,正确方法名是toReversed()。

内容的提问来源于stack exchange,提问作者muratoner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 11:32:18