2016-11-16 172 views
6

比方說,我有一段代碼,我只想在臨時環境中存在(或運行)。我已經在該環境中設置了一個環境變量(比如ENV ='staging'),TypeScript在編譯過程中是否可以訪問該變量?環境變量TypeScript

例如:

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

這將編譯成(冗餘,但efffective)if ('staging' == 'staging') ...上述環境?

+0

如果這是一個節點的應用程序,你可以很容易地在運行時訪問的環境變量。編譯時注入環境至關重要? – Marty

+0

這取決於你的TS應用程序是如何編譯的。例如,如果您使用Webpack構建應用程序,則可以使用「DefinePlugin」(https://webpack.github.io/docs/list-of-plugins.html#defineplugin)來注入環境變量的值在編譯時。 – yihangho

+0

@Marty是的,它是一個運行Webassets的Flask應用程序(缺少在這個問題的其他地方列出的有關Webpack注入能力的功能) –

回答

1

有沒有辦法爲打字稿,以編譯

燁期間訪問該變量。建議使用process.env,其工作原理爲,因爲在節點中,並且可以使用--define與webpack一起使用。

更多

示例展示瞭如何用它來生成輸出切換:https://basarat.gitbooks.io/typescript/content/docs/tips/build-toggles.html

+0

不幸的是它不是一個不需要的節點應用程序 –

+1

。 Webpack與Web應用程序一起工作,這也是鏈接所涵蓋的內容。 – basarat

+0

也不使用webpack。 –