【发布时间】:2021-09-28 14:03:04
【问题描述】:
我尝试在我的 nodeJS 项目中使用可选链接。
我使用版本 15.8(或任何 >12,我正在使用 nvm)。
我的项目使用标志 esm 运行
$ run.env -p ../../.env nodemon -r esm --watch ../../.env --watch ./src/ ./src/index.js
[nodemon] 2.0.12
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): ../../.env src/**/*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node -r esm ./src/index.js`
/home/dre/Projects/my/packages/backend/src/routes/account/login.js:72
let user = await Account.findOne({ email: payload?.email });
^
SyntaxError: Invalid or unexpected token
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
[nodemon] app crashed - waiting for file changes before starting...
我的 eslint 不再对这种语法大喊大叫了,但没有办法让 node 理解它。
任何想法都会对我有很大帮助!
【问题讨论】:
-
你运行的是什么节点版本?这是not supported below version 14...
-
它在 15.8 中应该可以正常工作,你确定这是 nodemon 使用的版本吗?尝试记录
process.version。 -
您确定您的系统上没有任何旧版本的节点吗?你确定 nodemon 使用的是 nvm 的正确版本吗?
-
@AlexanderNied, @CherryDt, @derpirscher 当我登录
process.versions时,我的版本是 15.8@ 我得到了{ node: '15.8.0', v8: '8.6.395.17-node.23', uv: '1.40.0', zlib: '1.2.11', brotli: '1.0.9', ares: '1.17.1', modules: '88', nghttp2: '1.42.0', napi: '7', llhttp: '2.1.3', openssl: '1.1.1i', cldr: '38.1', icu: '68.2', tz: '2020d', unicode: '13.0' }
标签: node.js ecmascript-6