2016-11-16 18 views
6

Bir aşamalı ortamda yalnızca mevcut olmasını (veya çalıştırılmasını) istediğim bir kod bloğum olduğunu varsayalım. Bu enivronmentte bir ortam değişkeni ayarlıyorum (örneğin, ENV = 'staging'), derleme sırasında bu değişkene erişebilmek için TypeScript'in bir yolu var mı?Ortam Değişkenleri TypeScript

örnek:

if (Enivronment['ENV'] == 'staging') console.log('testing');

derlemek olur

(yedekli, ancak etki ettiği) Yukarıdaki çevreye if ('staging' == 'staging') ...?

+0

bu kolayca zamanında ortam değişkenleri erişebileceği bir düğüm uygulama ise: çıktı oluşturulmasına anahtarlarla için nasıl kullanılacağını gösteren

Örnek

Daha. Çevrenin derleme zamanında enjekte edilmesi çok önemli midir? – Marty

+0

Bu, TS uygulamanızın nasıl derlendiğine bağlıdır. Örneğin, uygulamayı oluşturmak için Webpack kullanıyorsanız, ortam değişkenlerinin değerini enjekte etmek için 'DefinePlugin' (https://webpack.github.io/docs/list-of-plugins.html#defineplugin) kullanabilirsiniz. derleme zamanında. – yihangho

+0

@Marty evet bu Webassets çalıştıran bir Flask uygulaması (Webpack'in enjekte etme yeteneği ile ilgili olarak bu sorunun başka bir yerinde listelenen özelliklere sahip olmayan) –

cevap

1

orada typescript derleme

Evet sırasında değişken erişebilmeleri için bir yoldur. Düğüm içinde ve numaralı gibi çalışan process.env'u kullanmayı tercih edin ve --define kullanarak webpack ile kullanılabilir. https://basarat.gitbooks.io/typescript/content/docs/tips/build-toggles.html

+0

maalesef bu bir düğüm uygulaması –

+1

olması gerekmez. Webpack, web uygulamaları ile çalışır ve bağlantının da kapsamı budur. – basarat

+0

webpack'i kullanmıyor. –

İlgili konular