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

Node.js用Swagger API运行npm start报Unexpected Token =错误的非升级解决方案

Node.js 10环境下Unexpected Token =错误的解决办法

问题根源

Node.js 10.x不支持类公共字段语法(就是类里直接写type = 'EphemeralArray';这种赋值方式),而你用到的@swagger-api/apidom-core版本已经用了这个语法,旧Node版本编译时就会报错。

不用升级Node的解决思路

  • 锁定兼容旧Node的apidom-core版本:直接安装该包的旧版本,找一个明确支持Node.js 10的发布版。执行命令:

    npm install @swagger-api/apidom-core@0.94.0 --save-exact
    

    0.94.0及之前的版本大多兼容Node.js 10,要是这个版本不行,可以再试更低的版本。

  • 用Babel转译依赖包:如果必须用新版本的apidom-core,就用Babel把它转成Node.js 10能识别的代码:

    1. 先装Babel相关依赖:
      npm install @babel/core @babel/preset-env babel-loader --save-dev
      
    2. 在项目根目录建.babelrc文件,写配置:
      {
        "presets": [
          ["@babel/preset-env", {
            "targets": {
              "node": "10.24.1"
            }
          }]
        ]
      }
      
    3. 修改项目的构建配置(比如webpack),让它转译node_modules里的apidom-core:
      module.exports = {
        // 其他配置不动,加下面的规则
        module: {
          rules: [
            {
              test: /\.cjs$/,
              include: /node_modules\/@swagger-api\/apidom-core/,
              use: 'babel-loader'
            }
          ]
        }
      };
      

    改完重新运行npm start就行。

  • 用nvm临时切换版本(不影响全局):要是只是临时跑项目,用nvm装个兼容的Node版本(比如12.22.12),只在当前项目目录用:

    1. 先装nvm(没装的话自行安装)
    2. 在项目文件夹里执行:
      nvm install 12.22.12
      nvm use 12.22.12
      npm start
      
      用完切回原来的版本:nvm use 10.24.1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 07:22:55