New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Importy, babel i globale #4
Comments
Dzięki za nową garść informacji 👍 na razie chcę dokończyć resztę funkcjonalności starego prototypu w mojej nowej strukturze. Później będę brał się za te uwagi. |
Pobawiłem się trochę tym babel. Na pewno będę musiał tak budować na produkcję, bo koniecznie chcę korzystać z tych class z es6. Będę też porządkował zmienne z tym let etc. Zastanowię się jeszcze, czy na pewno będę szedł w te importy. Po przeróbce z babel (z importami) musiałem dodać do projektu require js - jest to niezbędna zależność, czy robiłeś to jakoś inaczej (widzę, ze ten babel ma masę opcji jak to konwertować - możliwe, że robiłem coś nie tak) i może nie wymagał tej dodatkowej zależności? |
Ogólnie rzecz biorąc, masz dwa wyjścia:
To, że budując produkt - budujesz zależności - jest w dzisiejszym świecie nierozłączne. Ważnym jednak jest efekt końcowy, plus to, czy rozwijanie produktu jest łatwe czy też nie. Moja propozycja jest taka: pobaw się tymi klockami dłużej, napisz kilka projektów, i sam oceń - ale nie odrzucaj tego po pierwszych instalacjach, bo nie poznasz wygody tych rozwiązań. |
Polecam zapoznać się z NodeJS + gulp/babel i innych paczek npm. Sam na początku myślałem, że to tylko utrudni, skomplikuje pracę, ale teraz nie wyobrażam sobie pracować bez tych narzędzi - tak bardzo pomagają w pracy, że nie masz pojęcia :) Możesz sobie porównać ten proces budowania paczki do kompilacji/budowania gotowej aplikacji w Javie, a NodeJS/npm do np. Mavena. Przygotowanie narzędzi to maksymalnie godzina roboty, a ile czasu zaoszczędzisz, gdy wszystko sobie zautomatyzujesz (np. automatyczne uruchomienie babela przy zmianach w plikach JS). Osobiście używam babela jak i innych tego typu narzędzi jako pluginy do gulpa, polecam :) |
A ja z kolei polecam zapoznać się z ESLint. Możesz dodać różne reguły które ciebie interesują i chcesz się ich trzymać podczas pisania kodu. Wtedy np. wyświetla tobie błąd gdy stworzyłeś zmienną ale jej nie użyłeś w kodzie, albo wyświetli błąd gdy w kodzie używasz słowa kluczowego 'var'. Całą listę reguł możesz znaleźć tutaj: http://eslint.org/docs/rules/ Tutaj, wydaje mi się, kilka ważniejszych reguł:
:) |
Stosowaliśmy w pracy kiedyś lint do Androida. Może kiedyś wprowadzę w innym projekcie. Aktualny projekt to eksperyment, który będzie rozwijany jeszcze jakieś 2 miesiące i wprowadzanie teraz linta, to moim zdaniem zdecydowanie przedwczesna optymalizacja. Jednak dziękuję za propozycję! Cieszę się i bardzo doceniam, gdy ktoś się angażuje. :) |
Przestudiowałem trochę Twój kod, również próbowałem zrobić pull-request odnośnie importów, jednakże:
Te dwa punkty są ze sobą ściśle związane, ponieważ:
Moja propozycja jest taka, abyś swoje klasy zrefactorował w taki sposób, by nic nie wychodziło do window. W taki sposób będziesz mógł wygodnie kompilować sobie do babela wszystko poleceniem typu
babel compile js/* -o build/main.dist.js
Do tego na końcu ścieżki dodaj sobie js/game.js - i wtedy korzystaj z całego środowiska w jednym miejscu :)
Sam w taki sposób pisałem (jeszcze bez es6) i ustrzegłem się dzięki temu wielu błędów spowodowanych wymuszaniem odpowiedniej kolejności ładowania skryptów.
PS. Chcę na youtuba :D
The text was updated successfully, but these errors were encountered: