Node.js ';类型错误:验证程序不是函数';在安装并需要express validator之后
我已使用npm install express validator安装了express validator--save并在我的Node.js ';类型错误:验证程序不是函数';在安装并需要express validator之后,node.js,express-validator,Node.js,Express Validator,我已使用npm install express validator安装了express validator--save并在我的app.js中需要它。然而,当我运行npm start时,终端说它不是一个函数 在我的app.js中: var validator = require("express-validator"); app.use(validator()); 在my package.json依赖项中: "express-validator": "^6.0.1" 终端的响应: app.us
app.js
中需要它。然而,当我运行npm start
时,终端说它不是一个函数
在我的app.js中:
var validator = require("express-validator");
app.use(validator());
在my package.json依赖项中:
"express-validator": "^6.0.1"
终端的响应:
app.use(validator());
^
TypeError: validator is not a function
at Object.<anonymous> (/mnt/e/CODING/Templates/leaftunehoney/SC2/app.js:30:9)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/mnt/e/CODING/Templates/leaftunehoney/SC2/bin/www:7:11)` at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:188:16)
app.use(validator());
^
TypeError:验证程序不是函数
反对。(/mnt/e/CODING/Templates/leaftuneyne/SC2/app.js:30:9)
编译(Module.js:652:30)
在Object.Module.\u extensions..js(Module.js:663:10)
在Module.load(Module.js:565:32)
在tryModuleLoad时(module.js:505:12)
在Function.Module.\u加载(Module.js:497:3)
at Module.require(Module.js:596:17)
根据需要(内部/module.js:11:18)
反对。(/mnt/e/CODING/Templates/leaftuneyne/SC2/bin/www:7:11)`at Module._compile(Module.js:652:30)
在Object.Module.\u extensions..js(Module.js:663:10)
在Module.load(Module.js:565:32)
在tryModuleLoad时(module.js:505:12)
在Function.Module.\u加载(Module.js:497:3)
位于Function.Module.runMain(Module.js:693:10)
启动时(bootstrap_node.js:188:16)
问题的原因是什么?
快速验证器
不是一个函数,也不是您使用它的方式:app.use(validator())代码>不正确,请检查以下文档:
在验证程序之前,不需要连接闪存
var validator = require("express-validator");
app.use(validator());
之后
这里是维护者。
您似乎正在使用最新版本。几天前,它不再包括所谓的“遗留API”
您应该迁移到新的API(例如,以前在express validator/check
下的API);*应该给你足够的信息来帮助你
例如
*目前还没有官方的迁移指南,因为新的API已经存在了几年
app.use(require('connect-flash')());
const { check, validationResult } = require('express-validator');
app.post('/user', [
check('username').isEmail(),
check('password').isLength({ min: 5 })
], (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(422).json({ errors: errors.array() });
}
// create/update the user however you want?
});