Я получаю это сообщение об ошибке после рефакторинга моего кода в отдельные файлы js.Я пробовал множество различных методов, основанных на SO сообщениях, но, похоже, ничего не работает, я либо получаю эту ошибку, либо переменная приложения в моем контроллере равна undefined
.
Я новичок в Node, поэтому, если кто-то может указатьЯ в правильном направлении, я был бы очень признателен!
Версия узла: v6.17.0
app.js
const express = require('express');
const app = express();
const controller = require('./plate-controller');
module.exports.app = app;
контроллер
const plateService = require('./plate-service');
var app = require('./app').app;
var exports = module.exports = {};
exports.controller = function(app) {
app.get('/plates/:plate_id', function (req, res) {
return plateService.getPlateById(req, res);
});
app.get('/plates/search/:plate', function (req, res) {
return plateService.search(req, res);
});
app.get('/plates/current-plates', function (req, res) {
return plateService.getCurrentPlates(req, res);
});
app.get('plates/prefix-plates', function (req, res) {
return plateService.getPrefixPlates(req, res);
});
};
Это дает неопределенное значение, а попытка вызова как require('..')()
всегда приводит к ошибке is not a function
.
При выводе переменной контроллера на консоль она на самом деле выглядит не так, как я думал, функция, скорее еефункция внутри объекта, поэтому я полагаю, что это является причиной require(...) is not a function
.
{ controller: [Function] }