Node.js + ES6

Pokażę co potrzebujemy aby uruchomić projekt z wykorzystaniem składni ES6.

Jeśli pogodzimy się z faktem, że nie wszystkie elementy składni będą działać, takie jak np import to nie musimy robić zbyt wiele. Instalujemy nodejs w wersji 6.6 lub iojs w wersji 3.3 i działa.

Ja jednak chciałem czegoś więcej i tutaj z pomocą przyszedł babel. To rozwiązanie ma jednak spory minus, przed wdrożeniem projektu musimy skompilować całość do ES5 ale nie ma to jak przyjemność z pisania a być może w kolejnymi wersjami node będziemy mogli zrezygnować z kompilacji.

Zbudujemy przykładową aplikację która nie będzie robić kompletnie nic poza wystawieniem się na jakimś porcie. Przy okazji wrzucimy wszystko w docker'a

Na początek końcowa struktura katalogów

Zacznijmy od początku, plik package.json

Plik konfiguracyjny babela .babelrc

oraz ustawienie ignorowanych plików dla dockera .dockerignore

OK przejdźmy do ciekawszych rzeczy, Dockerfile

docker-compose.yml

Teraz trochę JS, kod naszej aplikacji server/index.js

i tak dla porządku jakiś teścik test/index.js

Odpalamy

aplikacja już powinna działać na porcie 3000.

PS
Pracuję na MacOS i korzystam z bety Docker’a na ten system, polecam całkiem sprawnie to działa. Nie wymaga vagranta i docker-machine.