首页 > 解决方案 > TypeError: expressValidator 不是函数版本 6.10.0

问题描述

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

应用程序.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

标签: javascript

解决方案


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

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


推荐阅读