Wynika to z faktu, że biblioteki stron trzecich są w Skrypcie, aby zniechęcić programistów do ich dostosowywania. Zachęciłoby to ich do pisania rozszerzeń, aby ułatwić korzystanie z nowej wersji którejkolwiek z tych bibliotek.Gorący ręcznik: Dlaczego Durandal i Require znajdują się w folderze aplikacji, a nie w folderze Skrypt?
Odpowiedz
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.
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?
- 1. Skrypt w folderze to usterka?
- 2. Jak mogę utworzyć łącze do zdjęć, które nie znajdują się w folderze statycznym w kolbie
- 3. Laravel 5 make: kontroler tworzący kontroler w folderze aplikacji zamiast w folderze kontrolera
- 4. Dlaczego Yarn nie instaluje wszystkich plików wykonywalnych w folderze .bin?
- 5. Skrypt wsadowy do usuwania najstarszego folderu w danym folderze
- 6. Dlaczego moja aplikacja nie jest wyświetlana w folderze folderu iCloud
- 7. Style, skrypty i obrazy w folderze Obszar
- 8. Plik dokumentacji XML nie znajduje się w folderze publikacji
- 9. Skrypt Google Apps: jak utworzyć plik w folderze?
- 10. Dlaczego niektóre pliki nie zostały opublikowane w folderze App_Data?
- 11. Nie można zaktualizować pliku w folderze z plikami aplikacji Android
- 12. Microsoft.Office.Interop.Excel.dll nie zawarte w folderze kompilacji
- 13. Obrazy CSS W innym folderze
- 14. Zapętlanie plików w folderze Node.JS
- 15. Odczyt wszystkich plików w folderze
- 16. Aktualizowanie wszystkich transakcji w folderze?
- 17. Dlaczego przetrzymywać testy w osobnym projekcie zamiast w folderze?
- 18. Zainstaluj klejnot w lokalnym folderze
- 19. Znajdź wszystkie pliki w folderze
- 20. Vim tekst wyszukiwania w folderze
- 21. Szyny dostępu w folderze publicznym
- 22. Eksplorator plików w Androidzie nie wyświetla plików w folderze danych
- 23. Limit pamięci w folderze surowców i zasobów w Androidzie
- 24. Dowiązanie symboliczne do najnowszego pliku w folderze
- 25. Aspnet_regiis w folderze Framework64 dla 32-bitowej aplikacji sieciowej
- 26. Odwoływanie się do obrazu w folderze w katalogu zasobów
- 27. Przywróć wszystkie pliki w folderze
- 28. Otwórz wszystkie pliki w folderze
- 29. Nie mogę znaleźć pliku git.exe w folderze Github
- 30. node.js nie może znaleźć modułu w tym samym folderze
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. –