0

我收到“未捕获的语法错误:意外的令牌”。如果我的代码包含可选链接 (?.),则当我尝试在 VSCode (F5) 的调试模式下使用我的 express 应用程序时出现消息。当我使用运行正常的命令“npm start”的应用程序时,我没有这个问题。我没有使用非常具体的配置(编译器、打火机......)构建项目的经验,这个项目是使用 npm init 创建的。

您可以在下面看到我认为对解决问题有用的详细信息。需要帮助请叫我。如果它包含可选的链接语法,我是否可以调试应用程序?我应该更新任何版本吗?我应该更改任何配置文件吗?

详细信息:
节点 v16.10.0
npm v7.24.0

包.json

  "main": "server/server.js",
  "scripts": {
    "start": "nodemon -e js,json,html,yml,css server/server.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
  },
  "license": "ISC",
  "dependencies": {
    "@marsaud/smb2": "^0.17.2",
    "bcrypt": "^5.0.1",
    "body-parser": "^1.19.0",
    "compression": "^1.7.4",
    "cookie-parser": "^1.4.5",
    "cors": "^2.8.5",
    "equals": "^1.0.5",
    "express": "^4.17.1",
    "jsonwebtoken": "^8.5.1",
    "moment": "^2.24.0",
    "mongodb": "^3.6.5",
    "mssql": "^7.2.1",
    "nodemailer": "^6.4.10",
    "nodemon": "^2.0.7",
    "redoc": "^2.0.0-rc.24",
    "swagger-jsdoc": "^4.0.0",
    "tedious": "^14.0.0",
    "underscore": "^1.9.1"
  }
}

启动.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Iniciar el programa",

            "program": "${workspaceFolder}/backEnd/server/server.js"
          }
    ],
    
}
4

3 回答 3

0

我终于找到了解决方案,我没有使用正确的调试器,所以主要是 Visual Studio Code 错误的配置设置问题。我最近安装了一些其他调试器,所以我不得不再次设置 node.js 调试器。

于 2022-01-31T08:13:55.173 回答
0

我遇到了同样的问题,将 npm 降级到版本6.14.16对我有用。我在寻找解决方案时运行的另一个解决方法是从package.json脚本命令中删除nodemon并仅用node替换它们

"scripts": {
    "start": "node js,json,html,yml,css server/server.js",
    "test": "echo \"Error: no test specified\" && exit 1"
},

并运行

nodemon --exec npm run start

虽然不确定确切的问题是什么,但它似乎与从 package.json 文件中的脚本中运行 nodemon 命令有关。我可以通过简单地运行来验证这一点

npm run start

上面提到的 package.json 更改非常好,但是一旦更改为使用 nodemon 运行,我就会遇到可选链接的问题。

于 2022-01-25T00:27:03.367 回答
0

您是否尝试切换到不同的节点版本?我使用节点 v14 并且没有问题,但我在其他网站上看到提到他们正在使用 v16 并且在可选链接方面也有问题。

于 2021-12-24T12:34:25.060 回答