Pogodzić RequireJS i ASP MVC

Jak nie utonąć w plikach java scriptowych w aplikacji ASP.NET MVC.

Co to jest RequireJS?

RequireJS pisze o sobie:

A file and module loader for JavaScript http://requirejs.org/

Czyli jest to jakaś biblioteka w JavaScript, dzięki której możesz tworzyć moduły a później w zależności od potrzeb je wstrzykiwać do swojej aplikacji.

Dzięki temu masz pełną kontrolę nad bibliotekami oraz własnymi plikami JavaScript. Będą ładowane tylko na tych podstronach, na których są rzeczywiście potrzebne.

Nie muszę Cię chyba przekonywać o zaletach takiego rozwiązania. Nie jest to jednak artykuł o podstawach korzystania z RequireJS a jego integracji z ASP.NET MVC

Konfiguracja projektu

Zacznij oczywiście od dodania biblioteki RequireJS do projektu. Możesz zrobić to za pomocą mechanizmu Bundle albo Helpera bezpośrednio w Layoucie.

Ja wybrałem drugą opcję.


Następnie musisz wszystko skonfigurować. Przykładowa konfiguracja:

Niechciałbym teraz rozpisywać się na temat konfiguracji samego RequireJS. Możesz zajrzeć do oficjalnej dokumentacji albo poszukać w sieci informacji po polsku.

Jeżeli w layout nie masz sekcji „scripts” to warto ją dodać.

Przykładowy moduł w pliku /Scripts/HomeViewModel.js

W tym przypadku jest to ViewModel Konckoutowy.

Helper MVC

Żeby Twój kod był jeszcze ładniejszy dodaj Helper, z którego będziesz mógł korzystać w widokach do ładowania modułów.

W projekcie MVC stwórz nowy folder Extensions a w nim klasę

Teraz wystarczy, że w widoku w którym chcesz załadować ten moduł dodasz:

@section scripts {
@Html.RequireJs("HomeViewModel")
}

Gotowe!

Zaprezentowany powyżej kod to dość prosty sposób na RequireJS. Bardzo możliwe, że wraz z rozwojem projektu nie będzie on spełniał twoich oczekiwań. Jako alternatywę polecam Ci paczkę, którą znajdziesz w Nuget RequireJSNet http://requirejsnet.veritech.io/

 

Jeżeli chcesz wiedzieć więcej, polecam Ci książkę:

[helion_link ksiegarnia=”helion” ident=”c6pig6″ cyfra=”1″]c6pig6[/helion_link]