Как исправить «TypeError: Router.use () требуется функция промежуточного программного обеспечения»? - PullRequest
0 голосов
/ 25 апреля 2019

Я слежу за учебником по корзине покупок. Это с 2016 года. И я не могу запустить защиту CSRF в моем Index.js из-за ошибки, которую он мне дает

var express = require('express');
var router = express.Router();
var Product = require('../models/product');
var csrf = require('csurf');
router.use(csrfProtection);
var csrfProtection = csrf();

/* GET home page. */
router.get('/', function(req, res, next) {
...
.
.
...
});
router.get('/user/signup',function(req, res, next){
  res.render('user/signup', {csrfToken: req.csrfToken()});
});

module.exports = router;

C:\Users\Jelson\Desktop\Shoppingcart\shopping-cart\node_modules\express\lib\router\index.js:451
    throw new TypeError('Router.use() requires a middleware function')
    ^

TypeError: Router.use() requires a middleware function
    at Function.use (C:\Users\Jelson\Desktop\Shoppingcart\shopping-cart\node_modules\express\lib\router\index.js:451:11)
    at Object.<anonymous> (C:\Users\Jelson\Desktop\Shoppingcart\shopping-cart\routes\index.js:5:8)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:282:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
...