mongoose.Types.ObjectId不适用于babel7节点

问题描述

我正在使用babel7来转译node.js 12代码,并且遇到猫鼬代码不再起作用的问题。我正在使用mongoose.Types.ObjectId.isValid来验证ObjectId值,并且在切换到babel7之前,这个工作很好。由于我切换到babel7,因此此代码出现以下错误

TypeError:无法读取未定义的属性'ObjectId'。

这是我的babel.config.json文件

{
  "presets": [
    ["@babel/preset-env"]
  ],"plugins": [
    "@babel/plugin-proposal-class-properties","@babel/plugin-proposal-object-rest-spread","@babel/plugin-transform-async-to-generator","@babel/plugin-transform-strict-mode","@babel/plugin-transform-destructuring",["@babel/plugin-transform-runtime",{
      "corejs": 3,"useESModules": false
    }]
  ]
}

添加 @ babel / plugin-transform-destructing 插件,以为这可能是babel转堆造成的破坏性问题,但该问题仍然存在。

我最初使用以下导入语句访问代码中的猫鼬:

从“猫鼬”导入猫鼬;

这是我的package.json文件中babel的软件包:

"@babel/cli": "^7.12.1","@babel/core": "^7.12.3","@babel/node": "^7.12.1","@babel/plugin-proposal-class-properties": "^7.12.1","@babel/plugin-proposal-object-rest-spread": "^7.12.1","@babel/plugin-transform-async-to-generator": "^7.12.1","@babel/plugin-transform-destructuring": "^7.12.1","@babel/plugin-transform-modules-commonjs": "^7.10.4","@babel/plugin-transform-runtime": "^7.12.1","@babel/plugin-transform-strict-mode": "^7.12.1","@babel/preset-env": "^7.12.1","@babel/register": "^7.12.1","@babel/runtime-corejs3": "^7.12.5",

这是我用来启动服务器的启动命令:

节点dist / bin / www.js

这是我用来翻译代码的命令:

node_modules / .bin / babel src -d dist

服务器启动并侦听端口,但是当访问端点访问ObjectId属性时,它将引发异常。我对问题可能出在哪里感到困惑,任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)