Wpis z mikrobloga

Hej Mirki,
mam pytanko co do node i pliku .env - w jaki sposób zaciągnąć dane (np. klucz API) z takiego pliku BEZ dodatkowych paczek ani bez fs?

W jednym z tutoriali od google który kiedyś robiłem jest wpisane na 'pałę' plik na repo (linijka 29).
przez na 'pałę' mam na myśli przypisanie: const API_KEY = process.env.DARKSKY_API_KEY;
Dlaczego to działa? :D

Próbowałem w innym projekcie dać process.env.MOJEAPIKEY (dodając oczywiście w pliku .env MOJEAPI_KEY="abcd") i ciągle dostaje undefined po przypisaniu do zmiennej, na liście process.env też nie ma tej pary klucz-wartość.
Wie ktoś może, dlaczego to działa w tym tutorialu, a przy zwykłym przypisaniu nie działa;x

Z tego co czytałem w necie zwykle do zaciągania tego pliku używa się np. dotenv - zastanawia mnie tylko jak to się udało bez tego :)

#nodejs #javascript może jeszcze #webdev
  • 12
@UrimTumim: oni odpalaja apke z parametrem, zrob tak (wersja dla linuxa):

MOJA_ZMIENNA='bardzo wazny sekret' node app.js
a w apce odczytaj:

process.env.MOJA_ZMIENNA
Ten plik .env jest m.in po to zeby nie odpalac apki z milionem parametrow

Z windowsem trzeba jakos inacze te parametry podacm chyba cos ze slowem kluczowym SET, ale dawno nie uzywalem.
@4191727801: no właśnie nie odpalają z parametrem - sklonowałem sobie to repo i odpalam je bez żadnych parametrów;x wystarczy node server i wszystko śmiga. Z parametrem to też potrafię przekazać zmienne :p
Z drugiej strony Ty twierdzisz za wartosc jest zaciagana z pliku mimo wszystko... bede jeszcze zglebial temat ;)
A sprawdzales czy przypadkiem to nie dziala z undefined? Bo wg mnie to samo z siebie nie pobierze wartosci z pliku .env
@UrimTumim: niby tak, ale jakby nie do konca ( ͡° ͜ʖ ͡°)
Malo informacji o tym watch.json jest. Czytam i nie wiem przez co jest obslugiwany ten plik: przez node.js? przez npm'a? jakies strasznie nieintuicyjne g**no. Unikalbym tego
@4191727801: no właśnie podziękowałem - ale też mi coś przestało pasować ;p
z tego co czytałem to watch jest jako 'watchdog' - jak się aktualizuje któryś z plików na liście (albo jest instalowany), to przeładowuje cała apkę. Czyli może być powiedzmy traktowany jako task w gulpie/webpacku do monitorowania zmian z wyłączeniem niektórych folderów/plików ;x
@UrimTumim: polecam przeczytać tutorial jeszcze raz, bo piszą w nim wyraźnie, że w przypadku uruchomienia lokalnie: "Edit server.js and set your DarkSky API key.". Domyślnie ten projekt nie odczytuje wartości z pliku .env.