Jak wiemy, ASP.NET 5 jest cross platform, i na razie nie ma IDE takiego z okienkami, wizardami itp które by umożliwiało nam pisanie aplikacji w nim (nie licząc Visual Studio). To znaczy, że za każdym razem jak tworzymy projekt musimy go ręcznie samemu utworzyć – stworzyć plik, dodać konfigurację, stworzyć klasę startową itp itd. Ogólnie męczące.

Na szczęście, projekt Omnisharp o nas pomyślał i stworzył zestaw szablonów które możemy isntalować za pomocą Yeoman (ech muszę w końcu o nim napisać). Yeoman, to narzędzie umożliwiające nam generowanie plików zgodnie tam z jakimś szablonem, taki add new file/project itp.

Yeoman działa w oparciu o npm, więc zanim w ogóle zaczniemy korzystać z generatora aspnet, potrzebujemy posiadać zainstalowany Node (info o node), i do tego zainstalować yeoman:

npm install –g yo

ta komenda zainstaluje nam cli do yeoman, dzięki czemu komenda yo będzie dostępna w naszym command line. Mając yeomana zainstalowanego, pora zaisntalować kilka rzeczy, które się przydadzą jak będziemy korzystać z generator aspnet – mianowicie Gulp, Grunt (pisałem o nim: część 1 i część 2) oraz Bower (też pisałem o nim).

npm install -g bower grunt-cli gulp-cli

Mając już nasze środowisko przygotowane, pora zainstalować generator aspnet:

npm install -g generator-aspnet

Więcej o generator-aspnet można przeczytać na stronie projektu.

Od tej pory w naszym command line będziemy mogli wykonać polecenie:

yo aspnet

które wyświetli nam mały “Wizard”:

yo aspnet wizard

Po wyborze strzałkami czego chcemy, dostaniemy pytanie o nazwę aplikacji która będzie zarówno nazwą folderu stworzonego dla naszej aplikacji.

Teraz jednak zaczyna się zabawa, normalnie byśmy weszlo do katalogu i wykonali polecenia:

dnu restore // to wykorzysta bower i grunt/gulp

dnu build // by sprwadzić czy działa

dnx . kestrel

Jednak tak prosto nigdy nie jest ;) aktualnie generator projektów działa tylko i wyłącznie z dnx beta4 (na windowsach raczej problemu być nie powinno, ale na macu zaś tak), więc musimy ten określony dnx zainstalować – dmvm install 1.0.0-beta4. Do tego na macu ;) musimy poustawiać kilka zmiennych ;)

export MONO_MANAGED_WATCHER=disabled #inaczej mono nam się wywali

export DNX_FEED=https://www.nuget.org/api/v2 #bo oficlanie korzysta z wersji v3 a tam jest bug

Jeżeli nie uda nam się zainstalować beta4 z jakiegoś dziwnego powodu, jak 301 lub coś innego, należy spróbwać jeszcze raz po usunięciu katalogu beta4 :)

rm -rf ~/.dnx/runtimes/dnx-mono.1.0.0-beta4

export DNX_FEED=https://www.nuget.org/api/v2

dmvm install 1.0.0-beta4

No i teraz, raczej zapomnijcie o dnu build – to nie zadziała na macu, do tego zapomnijcie o Code – z niego też raczej nie zadziała, jedynie z waszego command line odpalenie aplikacji dnx . kestrel zadziała :) Tak przynajmniej jest na macu ;) na windowsach może być lepiej ;)

Tak czy siak, fajnie jest to, że takie coś istnieje, daje nam to też możliwość zorientowania się w jaki sposób my sami możemy tworzyć własne szablony dla naszych potrzeb. Ja osobiście nigdy takich gotowców nie lubiłem, zawsze było w nich za dużo śmieci.

Na szczęscie generator aspnet przychodzi z masą pomocnych generatorów pojedynczych plików w tym pliku Startup.cs czy MVC Controller

yo aspnet:StartupClass

yo aspnet:MvcController MyController

tych generatorów jest wiele więc zachęcam do ich poznania. Dla mnie to jest ważniejsze niż wygenrowanie szablonu projektu – no chyba, że będzie to mój szablon pod moje projektu dostosowany :)

Macie już pomysły jak można yeoman wykorzystać w waszych projektach? Bo mi się roich ich masa :) ale czasu pewnie i tak będzie brak :)

1 KOMENTARZ

Comments are closed.