TypeError:expressValidator不是函数版本6.10.0

时间:2019-07-14 08:33:27

标签: javascript

我正在尝试安装和使用express-validator软件包。我已经安装了软件包版本(6.10.0),代码是:

app.js

const express = require("express");
const app = express();
const mongoose = require("mongoose");
const bodyParser = require("body-parser");
const expressValidator = require("express-validator");
const dotenv = require("dotenv");

dotenv.config();

mongoose
  .connect(process.env.MONGO_URI, { useNewUrlParser: true })
  .then(() => console.log("DB Connected"));
mongoose.connection.on("error", err => {
  console.log(`DB connection error ${err.message}`);
});

const postRoutes = require("./routes/post");

app.use(bodyParser.json());
app.use(expressValidator());
app.use("/", postRoutes);

const port = process.env.PORT || 3000;
app.listen(port, () => {
  console.log(`A Node Js API is listening on poty: ${port}`);
});

我收到此错误:

TypeError: expressValidator is not a function

3 个答案:

答案 0 :(得分:0)

就我而言,这是版本问题。首先卸载当前版本,然后安装支持app.use(expressValidator())的旧版本;句法 暗示: 卸载以前的版本:npm卸载express-validator

安装旧版本:npm install express-validator@5.3.1

答案 1 :(得分:0)

我也面临着同样的问题。 经过少量研究,我发现我正在使用6.x版。

新版本的规则已更改[app.use(expressValidator());]语法不再受支持。我建议您将版本降级到5.x。

  • 降级
  • 卸载express-validator:npm uninstall express-validator
  • 重新安装早期版本:npm install express-validator@5.3.1

答案 2 :(得分:-1)

我也面临着同样的问题。经过一点研究,我发现我正在使用  版本6.x 。新版本的规则已更改[app.use(expressValidator());]  不再支持语法。我建议您将版本降级到5.x。它  为我工作。

降级:  第一:-卸载express-validator:npm uninstall express-validator  第二:-重新安装早期版本:npm install express-validator@5.3.1