Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Sequelize five 5,Babel seven 7:TypeError:在没有'的情况下无法调用类构造函数模型;新';_Javascript_Node.js_Sequelize.js_Lodash_Babeljs - Fatal编程技术网

Javascript Sequelize five 5,Babel seven 7:TypeError:在没有'的情况下无法调用类构造函数模型;新';

Javascript Sequelize five 5,Babel seven 7:TypeError:在没有'的情况下无法调用类构造函数模型;新';,javascript,node.js,sequelize.js,lodash,babeljs,Javascript,Node.js,Sequelize.js,Lodash,Babeljs,我正在用nodejs/express/sequelize编写一个新的应用程序。我使用Babel7来编译ES6。到目前为止,除了我想使用removeHook方法外,sequelize的一切都很好。我在实例上使用removeHook时出现此错误 /home/xxxx/PhpstormProjects/some-project/node_modules/lodas/lodash.js:15709 var result = object(this.__wrapped__),

我正在用nodejs/express/sequelize编写一个新的应用程序。我使用Babel7来编译ES6。到目前为止,除了我想使用removeHook方法外,sequelize的一切都很好。我在实例上使用removeHook时出现此错误

/home/xxxx/PhpstormProjects/some-project/node_modules/lodas/lodash.js:15709
              var result = object(this.__wrapped__),
                           ^

TypeError: Class constructor Model cannot be invoked without 'new'
    at self.object.(anonymous function) [as removeHook] (/home/xxxx/PhpstormProjects/some-project/node_modules/lodash/lodash.js:15709:28)
    at removeHook (/home/xxxx/PhpstormProjects/some-project/src/controllers/user.js:44:22)
    at callback (/home/xxxx/PhpstormProjects/some-project/src/util/loginStrategy.js:9:18)
我知道这个问题来自巴贝尔。起初我用的是巴别塔六号,但我也有同样的问题。我已经在GitHub上尝试了所有可用的方法,最好的解决方案是下面的。此外,我升级了lodash,但没有效果。我尝试了巴贝尔插件lodash,但没有结果

B.法律改革委员会 package.json 节点版本
我看到了其他答案,但它们并没有解决我的问题。他们大多数都很老了。如果您需要更多信息,请告诉我。

我解决了自己的问题。事实证明,我不能在实例上使用removeHook。我应该用模型。这是Sequelize文档的一个大问题。这是我发现的

从v4开始,实例和类方法已被删除。看这里(是404) 此外,您的beforeUpdate钩子会异步更新用户。您应该返回一个承诺,以便sequelize知道它必须等待钩子完成任务并更新用户


我解决了自己的问题。事实证明,我不能在实例上使用removeHook。我应该用模型。这是Sequelize文档的一个大问题。这是我发现的

从v4开始,实例和类方法已被删除。看这里(是404) 此外,您的beforeUpdate钩子会异步更新用户。您应该返回一个承诺,以便sequelize知道它必须等待钩子完成任务并更新用户

{
  "plugins": ["lodash"],
  "presets": [
    ["@babel/env", {
      "targets": {
        "node": "10.16.0"
      }
    }]
  ]
}
{
  "name": "xxxxxxxxxxx",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "sessionSecret=lool nodemon ./app.js --exec babel-node -e js"
  },
  "dependencies": {
    "bcrypt": "^3.0.6",
    "body-parser": "^1.19.0",
    "connect-pg-simple": "^5.0.0",
    "cookie-parser": "~1.4.4",
    "debug": "~2.6.9",
    "express": "~4.16.1",
    "express-session": "^1.16.2",
    "fs": "0.0.1-security",
    "lodash": "^4.17.11",
    "lodash-es": "^4.17.11",
    "nodemon": "^1.19.1",
    "pg": "^7.11.0",
    "sequelize": "^5.8.12",
    "sequelize-cli": "^5.5.0",
    "uuid": "^3.3.2"
  },
  "devDependencies": {
    "@babel/cli": "^7.4.4",
    "@babel/core": "^7.4.5",
    "@babel/node": "^7.4.5",
    "@babel/plugin-proposal-class-properties": "^7.4.4",
    "@babel/plugin-transform-classes": "^7.4.4",
    "@babel/plugin-transform-runtime": "^7.4.4",
    "@babel/preset-env": "^7.4.5",
    "babel-eslint": "^10.0.2",
    "babel-plugin-lodash": "^3.3.4",
    "babel-preset-latest-node": "^3.2.1",
    "eslint": "^5.16.0",
    "eslint-config-airbnb-base": "^13.1.0",
    "eslint-plugin-import": "^2.18.0"
  }
}


v10.16.0