организация кода
Коллеги, доброго времени суток. Пишу проект и встал вопрос в организации кода и кастомных модулей. Суть следующая:
const Engine = require(`./engine`); const engine = new Engine; engine.run(); Собственно понятно все!))) Дальше engine.js
'use strict';
const Router = require('./router');
const Render = require('./render');
const Session = require('./session');
const Config = require('./config.json');
const http = require(`http`);
class Engine {
constructor() {
this.config = Config;
this.server = {};
this.router = new Router;
this.render = new Render;
this.session = new Session;
}
run() {
this.server = http.createServer(this.router.requestHandler);
console.log(this.request);
this.server.listen(this.config.port, this.config.host, () => {
console.log('server ready...');
});
}
}
module.exports = Engine;
Суть вопроса такова. есть тчк входа, как ранее сказал, которая инициализирует главный объект Engine. У которого есть свойства, другие объекты, которые выполняют свои задачи. Как заставить эти свойства общаться друг с другом? Например, при создании сервера, в createServer ложим this.router.requestHandler для обработки запросов, который, обращается к this.session, например, и вытаскивает пользователя, а потом вызывает метод у this.render, который минифицирует страницу и отдает ее клиенту. Может коряво конечно сформулировал вопрос))) Простите) Но как всегда есть куча разной информации по express, но он не интересен. Вопрос, наверное по архитектуре приложения.)))) Заранее благодарю. |
Ну вот там, ниже, вопрос был про Express.
И вот прашивается, почему бы не поставить его глобально и не напейсать затем команаду express --view=pug my-project? И уже есть готовый "костяк", и не нужно выдумывать велосипеды (которые, к тому же, ещё не понятно - будут ли ездить). Потом ведь ещё будет над чем поразмыслить - так оно обычно бывает. |
| Часовой пояс GMT +3, время: 18:20. |