我有以下代碼:
this.$store.dispatch(GET_RESOURCE,
// 'http://10.20.48.124:1001/get/data/' -->this one for dev profile
// 'http://10.20.48.124:8008/get/data/' -->this one for test profile
'http://localhost:3000/get/data/' -->this one for local profile
);
現在它的硬編碼只能在 localhost 中作業,但是當我將它部署到 dev 時它就行不通了。是否有任何解決方案可以使其在任何組態檔中作業?也許有某種型別?
uj5u.com熱心網友回復:
這可以通過查看NODE_ENV變數以查看您所在的環境并更改 url 以匹配來完成。就像是:
let baseURL = 'http://localhost:8080/devapi/1/api/'
if (process.env.NODE_ENV === 'production') {
baseURL = 'https://example.com/api/v1/api/'
}
this.$store.dispatch(GET_RESOURCE, baseURL)
默認情況下有development和production環境。如果你想創建更多,例如 for test- 在專案根目錄中創建一個檔案,檔案名.env.test包含:
NODE_ENV=test
然后您可以在不同的環境中運行您的 npm commnds - 例如,vue-cli-service您可以添加--mode test
uj5u.com熱心網友回復:
您正在尋找的只是dotenvVue 的。您可以參考官方指南,其中解釋了如何在不同環境(即開發、生產等)中切換環境變數。基本上,你需要創建.env,.env.development,.env.production等檔案,并讓您的變數存在。其余的事情將自動處理。如果有預定義的方式,則無需在NODE_ENV每次要在環境變數之間切換時通過檢查來重新發明輪子。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/395490.html
標籤:Vue.js
上一篇:是否可以將子彈放入v-for中?
