2014-07-07 14 views
11

Jest to obecnie możliwe:Jak ustawić flagi w ember-cli, inne niż środowisko?

ember build --environment=production 

... i chciałbym zrobić coś takiego zamiast:

ember build --environment=production --baseurl=foo 

ale config/environment.js tylko zostanie podjęta w wartości environment.

Czy jest możliwe uzyskanie wartości innych opcji przekazanych w linii poleceń?

Odpowiedz

4

Można ustawić zmienne środowiskowe w starym stylu (export WHATEVER=wee) z poziomu terminala lub jako część skryptu budowania, a następnie odnieść je do węzła za pomocą Brocfile.js z process.env.WHATEVER. Potem byłoby sprawą brokułów zrobić wszystko, co trzeba z nimi zrobić. Możesz na przykład wstępnie przetworzyć pliki i zastąpić ciągi.

... tylko sugestia. Nie wiem, czy tego właśnie szukasz, czy nie.

+1

@ Ben Lesh dzięki za odpowiedź. Tak właśnie rozwiązałem problem (zanim jeszcze zadam pytanie). +1 i sprawdź do ciebie! ... Chciałem tylko wiedzieć, czy ember-cli zezwolił na dodatkowe parametry/argumenty. – bguiz

+0

czy można uruchomić coś w rodzaju ** serwera ember --environment = test ** – SuperUberDuper

+0

Możesz także uzyskać dostęp do dowolnej zmiennej środowiskowej bezpośrednio w pliku environment.js z proces.env.VARNAME –

6

Wydaje się, że to nie jest dozwolone: ​​

Patrząc w node_modules/ember-cli/lib/commands/build.js widzimy:

availableOptions: [ 
    { name: 'environment', type: String, default: 'development' }, 
    { name: 'output-path', type: path, default: 'dist/' } 
], 

... iw node_modules/ember-cli/lib/models/command.js

this.availableOptions.forEach(function(option) { 
    knownOpts[option.name] = option.type; 
}); 

... co razem oznacza, że Wszystkie opcje, które są zdefiniowane, dla każdej podkomendy , zostaną odrzucone.

0

Można zrobić foo=bar ember build (jednak robi ember build foo=bar nie działa)

A argument jest dostępny poprzez process.env.foo.

Powiązane problemy