организация кода
Коллеги, доброго времени суток. Пишу проект и встал вопрос в организации кода и кастомных модулей. Суть следующая:
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, время: 06:35. |