2013-03-20 25 views

Odpowiedz

5

Dobrze trafiłeś w innych deweloperów, którzy pomylili biblioteki durandal w poszukiwaniu plików, które można dostosowywać.

Ale nie musisz nosić durandalu w dowolnym miejscu. Struktura folderów może być taka, jakiej pragnie twoje serce. Ponieważ durandal nie narzuca żadnej struktury folderów .. ma tylko zalecaną domyślną konfigurację. Jest wiele korzyści, aby nadążyć za jego wzorcem.

Utrzymując durandal jako część folderu głównego aplikacji. Zachowuje wszystkie pliki amd javascript w jednym folderze głównym. W ten sposób po uruchomieniu durandala optimizer można przeskanować każdy podfolder, aby skompresować/minify/uglify wszystkich html/css/js do 1 pliku. Jest to niezła korzyść, ponieważ składa się z 1 kliknięcia całej aplikacji.

Jest to również dobra separacja, ponieważ dobrze jest zachować niezależne biblioteki JavaScript innej firmy w osobnej strukturze folderów w ten sposób, jeśli używasz bundler do kompresowania wszystkich bibliotek zewnętrznych w osobnym pliku. Przeglądarka może buforować twoją aplikację oddzielnie od bibliotek innych firm. Ponieważ biblioteki innych firm nie zmieniają się zbyt często, a twoja aplikacja prawdopodobnie będzie się często zmieniać.

Konwencje durandal są w pełni konfigurowalne i można umieścić durandal w dowolnym miejscu.

+0

Przyjmuję twoją odpowiedź, a teraz rozumiem konwencję Durandala. Zakładam jednak, że są części Durandalu, które są kluczowe dla jego funkcji. Jeśli masz sytuację z wieloma SPA, wszystkie SPA powinny udostępniać/buforować klucz podstawowy Durandal. Moja perspektywa pochodzi z ExtJs, w której wszystko w folderze aplikacji jest dostosowane do Twojej aplikacji. Wszystko, co mogłoby być współużytkowane przez inne aplikacje, znajdowało się w folderze skryptu lub w CDN. Rzeczy w skrypcie nigdy nie były edytowane bezpośrednio - tylko pośrednio przez pliki rozszerzeń. Konwencja jasno określiła, co powinno i nie powinno być edytowane. –

0

Jest to konwencja, którą Durandal zdecydował użyć, aby pomóc w uporządkowaniu kodu klienta klienta w folderze aplikacji, z dala od folderu skrytek stron trzecich, co dość szybko staje się kłopotliwe. Umieszcza plik require.js w folderze aplikacji ze względu na sposób polegający na require.js i jego wzorzec AMD. require.js służy do lokalizowania wszystkich modułów i ładowania ich w razie potrzeby (w folderze aplikacji).

Czy jest coś konkretnego, czego potrzebujesz, aby temu zapobiec?