Задать вопрос
@ZaxapKramer
Больной верстальщик

Правильное ли решение избрал при создании сайта на клиентском vanilla-js, и есть ли готовые альтернативы?

Здравствуйте, уважаемые посетители Тостера.
Нароутил незамысловатый функционал, желая как-то структурировать свое одностраничное (на деле страниц больше) приложение-сайт, загружающее файлы (файлы с данными и просто библиотеки, используемые только на этих страницах) по мере необходимости.

Не знал, как можно это сделать, искал продолжительное время уже готовое - не нашел - пришел к такому решению (сейчас оно в голове (немного на бумаге)): имеется некий глобальный объект, назовем его routerFunc, который содержит элементы-страницы (в основном скрипты), подгружаемые по мере необходимости.
Здесь routerFunc.index - функция в отдельном скрипте (например, "/routes/index/index.js"), подгружаемом при переходе на mysite/#index

routerFunc.index = function () {
	BeforeRender: function () {
		// Здесь происходит что-то до рендридинга
	},
	Render: function () {
		// Рендерится
	},
	AfterRender: function () {
		// Выполняется что-то после
	}
}


renderFunc.index вызывается, сама renderFunc в свою очередь - то, что выполняет подгружаемый скрипт с renderFunc.index... к примеру, кладет в некоторый контейнер-div return из Render, далее выполняется AfterRender (к примеру, подгружается какая-нибудь библиотека, работающая с готовым DOM)... Естественно, есть не только "index", но и множество других страниц в сайте, поэтому не считаю, что это можно назвать SPA (пусть index.html и один).

Правильный ли это подход вообще, и можно ли это осуществить в принципе (ибо, когда все это в голове, звучит понятно, но по мере реализации оказывается, что синтаксис не тот, а подобная идея - просто бред говнокодера (себя javascript-гуру не считаю))?
Если задумка ужасна (или есть (достойные) альтернативы с нормальной структурой и/или примеры такого), то можете, пожалуйста, подсказать, что такое вообще изобрел (быть может, велосипед с пятью колесами) и что из готовых решений можно (нужно) применить?

P.S. Данные берутся, к примеру, из JSON-файлов (не столь важно). Не использую JQuery принципиально (одна из причин - попытка влиться в читый JavaScript, причем очень удачная), а само приложение - некий эксперимент по написанию микро-сайта на клиентском JS, файлы с кодом в котором весят меньше 30-40кб (именно начальные (html, js), не считая страницы, скрипты на которых грузятся по мере необходимости (они также весят (в среднем) не больше оговоренного ранее двухзначного числа)).
P.P.S. Не считаю MVC хорошим решением, потому что хороших (именно микро, именно понятных, "не перегруженных") примеров реализации клиентского MVC не встречал, да и это довольно жестко усложняет код, увеличивает его количество, также не считаю MVC здесь вообще уместным...

Заранее спасибо за помощь в разъяснении, очень надеюсь, что таковая будет)
  • Вопрос задан
  • 135 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы