javascript - 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
解决方案
就我而言,这是版本的问题。先卸载当前版本,再安装支持app.use(expressValidator())的旧版本;语法提示:卸载以前的版本:npm uninstall express-validator
安装旧版本: npm install express-validator@5.3.1
推荐阅读
- java - 为什么即使我的 for 循环中有一个 return 语句,我也会因为没有 return 语句而收到错误消息?
- sql - PostgreSQL-10:查询多种类型的 JSONB 属性
- django - *args, **kwargs 在这个保存方法中所做的覆盖
- java - Java:直接分配一个太大的值与整数环绕
- android - 当我想创建一个新的flutter项目时,flutter只是返回到欢迎屏幕
- android - 在 Room db 中查找具有 id 的项目并在 ViewModel 中接收它
- android - 在 Marshmallow 上写入/读取存储无法正常工作
- javascript - 如果条件从未满足,因此我在简单条形图中的条形始终是蓝色的,而我希望它们对于低于某个数字的值是红色的
- django - 我已经配置了所有东西,但是 django 说找不到页面
- mysql - 我可以使用 LEFT OUTER JOIN 和 NULL 来代替一张表吗?