Router.use () выдает ошибку при добавлении маршрутов через foreach в app.js - PullRequest
0 голосов
/ 13 ноября 2018

Я застрял в проблеме, которая не была проблемой в моем предыдущем проекте, когда я использовал тот же метод.Я пытаюсь добавить маршруты и путь к файлу следующим образом:

И в файле App.js я включаю его таким образом

app.use(app.router);

APIRoutes.forEach(function (object) {
    app.use(object.route, require(object.path));
});

Теперь, когда я делаю это, он показываетошибка

[nodemon] restarting due to changes...
[nodemon] starting `node ./bin/www`
[nodemon] restarting due to changes...
[nodemon] starting `node ./bin/www`
c:\Node\mytestapp\node_modules\express\lib\router\index.js:458
  throw new TypeError('Router.use() requires a middleware function but got a 
' + gettype(fn))
  ^

TypeError: Router.use() requires a middleware function but got a Object
at Function.use 
(c:\Node\mytestapp\node_modules\express\lib\router\index.js:458:13)
at Function.<anonymous> 
(c:\Node\mytestapp\node_modules\express\lib\application.js:220:21)
at Array.forEach (<anonymous>)
at Function.use 
(c:\Node\mytestapp\node_modules\express\lib\application.js:217:7)
at c:\Node\mytestapp\app.js:34:8
at Array.forEach (<anonymous>)
at Object.<anonymous> (c:\Node\mytestapp\app.js:33:11)

Я делал то же самое в своих предыдущих проектах, и они работали нормально.Более глубокое понимание проблемы, с которой я столкнулся, заключалось в том, что мой предыдущий проект был в среде экспресс 2.0.0, а теперь некоторые компоненты удалены.но я не получил никакого решения для этого.

Обновление product.js file

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

var ProductModel = new Schema({
productId: Number,
name: String,
quantity: Number,
price: Number,
activeStatus: Number
});

const Product = mongoose.model('myProduct', ProductModel);
module.exports = Product;
...