Невозможно импортировать app.js в других модулях ExpressJS

#javascript #node.js #express #websocket

#javascript #node.js #экспресс #websocket

Вопрос:

Я не могу импортировать app.js в других модулях ExpressJS. Он импортирует, но я не могу использовать функции, определенные в app.js файл

Код, который у меня есть, это — у меня есть это app.js

 var app = express();
var expressWs = require('express-ws')(app);
.
.
.
wss= expressWs.getWss();

// console.log(wss);  // works fine
app.getWss=function(){
  return "hello";
  };
app.listen(3001);
module.exports = app;
  

в файле внутри /socketroutes/socketroutes.js

 var app = require('../app');
console.log(app); // prints an empty object {}
console.log(app.getWss())  // returns undefined function and doesn't work
  

Я хочу использовать некоторые переменные или функции, определенные в app.js в других модулях. поскольку экземпляр сервера websocket должен быть создан только один раз. я не могу создать экземпляр wss в каждом модуле.

Комментарии:

1. Вы получили какую-либо ошибку?

Ответ №1:

Это в основном из-за циклической зависимости. Попробуйте переместить строку module.exports в начало app.js досье.