Mam aplikację internetową mvc4 z obszarami, dla mojej organizacji każdy obszar reprezentuje SPA i poprzez "Zarządzam pakietem NuGet" Zainstalowałem "Durandal 1.2.0", "Durandal Transitions 1.2.0" i "Durandal Router 1.2.0". Zorganizowałem foldery i opuściłem "widoki" i "viewmodels" z folderu "App" w Durandal i wstawiłem nowe widoki do folderu "Widok" obszaru mvc4, na przykład:Obszary Durandal i MVC4 dla wielu SPA
Obszary -> Nowa strona -> Widoki -> ControllerFolder -> widoki -> shell.html
Następnie kładę „ "ViewModels" w folderze "skrypt" na przykład:
Skrypty -> NewArea -> ControllerFolder -> ViewModels -> shell.js
Skrypty -> NewArea -> ControllerFolder -> main.js
Potem zmienił ścieżki dla JS z Durandal, na przykład w main.js:
define(['../../../App/durandal/app',
'../../../App/durandal/viewLocator',
'../../../App/durandal/system',
'../../../App/durandal/plugins/router',
'../../../App/services/logger'],
I zmienił main.js w następnym wierszu:
viewLocator.useConvention('viewmodels', '../Areas/NewArea/Views/ControllerFolder/views');
jednak, że konfiguracja nie powiedzie się, ponieważ foldery obok linia nazywa różnych porach moduł „viewLocator” w jej definicji i przepisać konfigurację „useConvention” o wartości domyślnej:
app.setRoot('viewmodels/shell', 'entrance');
To zachowanie tylko wtedy, gdy foldery „wyświetleń” d "viewmodels" nie pozostają w folderze "App" w "Durandal".
Proszę mi pomóc, jak mieć różne SPA w tym samym projekcie?
Dzięki, dla twojej sugestii, może możesz dać mi więcej informacji o "bootstrapper". – kuskunko