我使用的模式來配置變量存儲在我的/config/[xxx].env.js文件,像這樣:如何訪問組件中的vuejs webpack配置變量?
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
API: {
ROOT: "'http://blah.blah.blah'"
},
CONNECTORS: {
SPOTIFY: {
CLIENT_ID: "'blah'",
SCOPES: "'blah'",
REDIRECT_URI: "'blah'"
}
}
})
注意,其中有些是沒有具體的環境變量,但我想將這些類型的配置變量放在一個集中的位置。
在我main.js,我可以通過process.env
訪問罰款變量:
Vue.http.options.root = process.env.API.ROOT
但在一個較低的水平組件,「進程」並不存在。
我知道,它不應該,因爲它不是全局定義的,但我無法弄清楚如何從一個組件中得到該process.env對象。我知道我可以讓它成爲全球性的,但那不是「感覺不錯」。
兩個問題:
有一些其他的Vue進口/對象,我失去了去process.env?
有沒有更好的方式來存儲這些類型的集中值,這可能是與環境相關的?我已經看到了諸如ruby配置gem之類的東西,它能夠在默認配置的基礎上對環境特定的配置進行分層。
我做嘗試故宮配置創業板,但由於某種原因它缺少 其他所需的國家防範機制,並且似乎對node.js的齒輪,它 感覺就像我做錯了什麼不使用什麼vue-cli webpack 提供。
是啊,我用Vuex了。這是有道理的,我只是將它轉儲到應用程序加載的商店。 –
Vuex的意思是在應用程序爲客戶端加載後會改變的狀態。如果這些構建配置變量不會通過VUE應用程序的生命週期改變你可能會更好把他們的服務容器內,如[VUE容器(https://www.npmjs.com/package/vue-container )。 – Sean