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 ?

Author: Joy, 2012-10-12

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.

 21
Author: Peter H.,
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.

 9
Author: Lu4,
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