У меня есть приложение express / node, и я хочу сделать экземпляр приложения доступным в нескольких файлах без циклических ссылок (например, перед тем, как объект маршрутов был включен в express, вам нужно было бы экспортировать объект приложения в маршруты файл .js, но затем этот файл rout.js затем экспортируется обратно в основной файл app.js).
Хотя я знаю, что объект маршрутов решает этот сценарий использования, я пытаюсь выяснить, сработает ли другой шаблон / является ли это наилучшей практикой.
ТАК ... могу ли я иметь отдельный файл служб, в котором мне требуется экспресс, а затем в этом файле служб создать приложение? И чтобы моя основная корневая папка, а также n других папок (каждая из которых могла иметь свою округлость) безопасно требовали приложения из этой службы.
Example Folder structure
├── app.js // main file; ordinarily would have required routes.js
├── routes
├── routes.js // ordinarily would have required top app.js for app object
├── services
├── firebase.js
├── amplitude.js
└── app.js // instead, create app here and export it to both above
Так, например, три файла могут выглядеть так:
app.js (основной)
const app = require('./services/app');
app.listen(3000, () => console.log('Listening on port 3000));
маршруты / routes.js
const app = require('../services/app');
app.get('/', (req, res) => res.send('hello world'));
Услуги / app.js
const express = require('express');
const app = express();
module.exports.app = app;
Это безопасная / лучшая практика?