Sunday, May 12, 2024
 Popular · Latest · Hot · Upcoming
68
rated 0 times [  74] [ 6]  / answers: 1 / hits: 15689  / 4 Years ago, fri, february 7, 2020, 12:00:00

I'm wondering if it is possible to let to a Vue App to read an external configuration file. I imagine something in which I deploy the application, ship the application with the config file; at this point it should be possibile to change the configuration in the external file without having to rebuilt the entire application. Is there someway I can achieve that result? Now I am using a separated Vuex store but i cannot change configuration without rebuilding the entire app.



I forgot to mention that the project is made with Vue CLI.


More From » vue.js

 Answers
28

You can fetch config.json from public folder and then load your Vue app in the resolve callback


Place your configuration keys in /public/config.json file


{
"KEY": "value"
}

Then in your /src/main.js file


fetch(process.env.BASE_URL + "config.json")
.then((response) => response.json())
.then((config) => {
Vue.prototype.$config = config
new Vue({
router,
store,
render: (h) => h(App)
}).$mount("#app")
})

You will have your configuration loaded application-wide. You can then just use


mounted() {
this.$config.KEY // "value"
}

in your Vue components


Update Nov 23, 2022 (Adding Vue 3 Version):


// VUE 3 Version
const app = createApp(App)

fetch(process.env.BASE_URL + "config.json")
.then((response) => response.json())
.then((config) => {
// either use window.config
window.config = config
// or use [Vue Global Config][1]
app.config.globalProperties.config = config
// FINALLY, mount the app
app.mount("#app")
})

[#51237] Tuesday, January 28, 2020, 4 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
jarettajb

Total Points: 678
Total Questions: 94
Total Answers: 90

Location: Guernsey
Member since Tue, Jul 6, 2021
3 Years ago
;