Какъв е правилният случай на използване на модулите?

В момента имам Backbone.js сайт, който функционира правилно. Този сайт обаче започва да става доста голям и наистина бързо се превръща в Backbone Spaghetti.

За да се справя с това, мисля, че Marionette.js е правилният начин и започнах да го разглеждам миналата седмица и се опитвам да изляза с доказателство за концепцията, използвайки го. Първоначалното ми мислене беше, че всеки набор от маршрути (т.е. сървъри и сървъри/:id) на сайта трябва да бъде свой собствен модул. Например списъкът със сървъри и след това, когато отворите сървър, формулярът и свързаните списъци ще бъдат един модул и това, което се показва, зависи от маршрута (сървъри или сървър/:id). След това, когато навигирате до някакъв друг маршрут, бих спрял този модул, бих нулирал региона на съдържанието и бих стартирал друг.

Въпросът ми е следният... използвам ли модули, както е предвидено? Или модулът трябва да бъде в по-широкия смисъл на думата, което означава индивидуални „мини“ приложения (т.е. джаджа за чат, джаджа за известия и т.н.), неща, които не са „необходими“ за общата цел на сайта да продължи да функционира независимо от състоянието на този модул (стартиран или спрян)?


person keithstric    schedule 28.07.2014    source източник


Отговори (1)


Модулите са предназначени да бъдат мини приложения, както споменахте. Подход, който е още по-модерен, е организирането на вашия код с RequireJS. Това ще ви принуди да поставите кода си в модулна структура.

Маршрути, които принадлежат заедно (/admin/users, /admin/users/2/view, /admin/users/2/edit, /admin/users/new и т.н.), трябва да ги групирате в контролер Marionette.

След като се запознаете с Marionette, вероятно ще намерите начин да използвате наскоро стартираната функция: Behaviors. Те насърчават повторното използване на код и правят изгледите ви още по-тънки.

person P. R. Ribeiro    schedule 29.07.2014
comment
Благодаря за уточнението. Така че подходих към това по грешен начин. Що се отнася до Behaviors, да, започнах да ги разглеждам и трябва да кажа, че са адски готини. Аз също използвам require.js и старият сайт също е. Но имах няколко изгледа, които бяха дълги стотици редове и когато добавих някаква функция, това щеше да повреди нещо друго. Така че нещо трябваше да се промени, за да стане това по-лесно за поддръжка. - person keithstric; 29.07.2014