Wymagają.js optimization vs asp.net łączenie i minifikacja mvc 4
Off ostatnio widziałem, że Mvc 4 zawiera łączenie i minifikację kilku skryptów i css w jeden link, który minimalizuje i zmniejsza czas ładowania skryptu z jednej konfiguracji .
The require.js r. js jest również narzędziem optymalizacyjnym dostępnym do ładowania i minifikacji skryptów . Czy ktoś może mi powiedzieć, które jest lepsze ? Lub w razie potrzeby.js może być używany tak samo jak narzędzie minification + bundling do załadowania skryptu do pojedynczego pliku czy nie ? tak samo jak Mvc 4 ?
Wolę aby użyć wymagaj.js dla AMD Ładowanie więc myślenie, aby zastosować koncepcje idei minifikacji Mvc 4, jeśli jest dostępny w wymagają.js jako pojedyncze Ładowanie url dla skryptów i css do optymalizacji i minifikacji .
Czy ktoś może umieścić jakieś pomysły i światła w tym temacie ?
2 answers
Require.js jest narzędziem po stronie klienta, które pozwala klientowi żądać tylko skryptów, których potrzebuje. Często w aplikacji MVC każdy skrypt zostaje dodany do _layout.plik cshtml, a nie wiele myśli wkłada się w to, czego potrzebuje każdy kontroler. Wymagają.js pozwala myśleć o tym, co każdy moduł potrzebuje, aby uruchomić.
R. js wymaga node lub Javy i jest narzędziem po stronie serwera, które jest nieco analogiczne do łączenia i minifikacji MVC4. r. js działa w połączeniu z wymaganiem do spróbuj zminimalizować powszechnie używane pakiety i wyślij je jako pakiet. Ale łącząc je i pakując, wysyłasz je potencjalnie zanim skrypt "ich wymaga".
Ciekawe jest to, że poprzez łączenie w Pakiety prawie pokonujesz cel AMD. ie-łączysz całą masę zależnych skryptów w jeden plik, zamiast pozwalać na Wymaganie.js uporządkuje, które z nich potrzebuje i wyśle żądanie, kiedy i czy ich potrzebuje.
Dobre referencje na integracja require i mvc: http://www.stefanprodan.eu/2012/09/intro-requirejs-for-asp-net-mvc / - zauważ, że nie używa wiązania.
Więc dla mnie - myślę, że minify poszczególnych plików (i bundle / minify css) i niech wymagają do swojej pracy, jak trzeba, aby wspierać AMD.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-02 01:03:23
W moim konkretnym przypadku (i wielu innych, które spotkałem wcześniej) nie ma sensu wykonywać dodatkowego obciążenia serwera z oddzielnym żądaniem tylko w celu załadowania skryptu lub Pliku stylu 1-3KB.
- Jak wspomniano, takie żądanie wykorzystuje zasoby serwera, które są zwykle ograniczone Ładowanie wymaga czasu, gwarantowane opóźnienie 50-200ms]}
- Im więcej plików masz, tym większe prawdopodobieństwo, że jeden z nich nie załaduje się z powodu problemu z połączeniem
- tam jest to również narzut z ilością kodu kotła wymaganego do owijania wszystkiego w Moduły
O wiele wydajniejsze i bezpieczniejsze jest ładowanie nawet ogromnego skryptu 5MB (co jest nierealne) raz i ładowanie go później z pamięci podręcznej. Używając GZip wyciśniesz 5 mb tekstu do 200KB danych binarnych, co jest znacznie mniej niż ilość treści graficznych, jaką Przeciętna strona używa na żądanie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-26 23:43:31