在服务器上部署后端时 SyntaxError: Unexpected token '??='

回答 3 浏览 2953 2023-11-05
/opt/render/project/src/node_modules/bson/lib/bson.cjs:479
Nov 5 12:36:13 PM          inspect ??= defaultInspect;
Nov 5 12:36:13 PM                  ^^^
Nov 5 12:36:13 PM  
Nov 5 12:36:13 PM  SyntaxError: Unexpected token '??='
Nov 5 12:36:13 PM      at wrapSafe (internal/modules/cjs/loader.js:984:16)
Nov 5 12:36:13 PM      at Module._compile (internal/modules/cjs/loader.js:1032:27)
Nov 5 12:36:13 PM      at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
Nov 5 12:36:13 PM      at Module.load (internal/modules/cjs/loader.js:933:32)
Nov 5 12:36:13 PM      at Function.Module._load (internal/modules/cjs/loader.js:774:14)
Nov 5 12:36:13 PM      at Module.require (internal/modules/cjs/loader.js:957:19)
Nov 5 12:36:13 PM      at require (internal/modules/cjs/helpers.js:88:18)
Nov 5 12:36:13 PM      at Object.<anonymous> (/opt/render/project/src/node_modules/mongodb/lib/bson.js:4:14)
Nov 5 12:36:13 PM      at Module._compile (internal/modules/cjs/loader.js:1068:30)

我已经更改了运行命令,例如节点index.jsnodemonindex.js ==启动

"start" = "nodemon index.js"
"start" = "node index.js"

但仍然面临问题

ramsoftwaredev 提问于2023-11-05
您使用哪个版本的node.js?从版本 15.14 开始支持运算符 ??=。请参阅 node.greenWernfried Domscheit 2023-11-05
3 个回答
#1楼 已采纳
得票数 7

我希望你正在使用渲染。 Render 包含 Node.js,默认版本为 14.17.0。如果您需要为您的应用程序使用不同的 Node.js 版本,您可以轻松地在平台内进行此调整。为此,请导航到渲染上应用程序的环境设置,并创建一个名为 NODE_VERSION 的环境变量。设置 NODE_VERSION 的值以匹配您已使用应用程序进行彻底测试的特定 Node.js 版本。

例子:

  • Key: NODE_VERSION
  • Value: 18.5

enter image description here

Muhammad Anzil 提问于2023-11-06
Jeremy Caney 修改于2023-11-07
#2楼
得票数 0

当我尝试运行 docker 容器时,我遇到了同样的问题。然后我就在网上搜索了一下。在 mongodb 社区聊天中,有人提到,如果您将 mongoose 版本更改为“npm i”然后就可以了。然后我删除了 docker 创建的映像并将 mongosse 版本更改为 7.6.3。我再次创建了 Express 服务器项目的 docker 镜像,该镜像与 mongo 云集群连接,现在工作正常。

Ankit Mishra 提问于2023-12-07
#3楼
得票数 0

我也遇到了同样的问题,但在尝试了不同的方法后,我更改为 Mongoose 版本而不是最新的。这对我有用。

Anurag Pandey 提问于2023-12-10