Firebase 插件下未定义privateRuntimeConfig值
历史上,我想知道如何在Firebase 插件下未定义privateRuntimeConfig值,firebase,vue.js,nuxt.js,Firebase,Vue.js,Nuxt.js,历史上,我想知道如何在插件下的Nuxt中使用privateRuntimeConfig。 我想通过env运行firebase initialize函数,但$config似乎未定义。 我错过什么了吗 //nuxt.config.js privateRuntimeConfig:{ 火基:{ apiKey:process.env.apiKey, authDomain:process.env.authDomain, databaseURL:process.env.databaseURL, projectI
插件
下的Nuxt中使用privateRuntimeConfig。
我想通过env运行firebase initialize函数,但$config
似乎未定义。
我错过什么了吗
//nuxt.config.js
privateRuntimeConfig:{
火基:{
apiKey:process.env.apiKey,
authDomain:process.env.authDomain,
databaseURL:process.env.databaseURL,
projectId:process.env.projectId,
storageBucket:process.env.storageBucket,
messagingSenderId:process.env.messagingSenderId
}
}
//插件/firebase.ts
从“firebase”导入firebase;
如果(!firebase.apps.length){
firebase.initializeApp($config);//错误:$config未定义
}
导出默认firebase($config);
您可以从nuxt的服务器端生命周期钩子访问privateRuntimeConfig变量:如NuxtServerInit、Validate()、asyncData()或fetch(上下文)
nuxt生命周期:
如果private和public runtime config具有相同的值,则private runtime将覆盖public
让我用一个简单的代码来解释
numxt.config.js
...
publicRuntimeConfig: {
API_KEY: '1245',
},
privateRuntimeConfig: {
API_KEY: 'AIzaSyAxwq', //Real API-Key
},
...
import Vue from 'vue';
export default function({ app }, inject) {
const helpers = {
getApiKey() {
return app.$config.API_KEY;
}
};
inject('helpers', helpers);
}
plugins/helpers.js
...
publicRuntimeConfig: {
API_KEY: '1245',
},
privateRuntimeConfig: {
API_KEY: 'AIzaSyAxwq', //Real API-Key
},
...
import Vue from 'vue';
export default function({ app }, inject) {
const helpers = {
getApiKey() {
return app.$config.API_KEY;
}
};
inject('helpers', helpers);
}
页面/test.vue
...
<script>
export default {
asyncData(context) {
console.log(context.$helpers.getApiKey()) --> displays: AIzaSyAxwq
},
created() {
console.log(this.$helpers.getApiKey()) --> displays: 12345
}
}
</script>
...
。。。
导出默认值{
异步数据(上下文){
console.log(context.$helpers.getApiKey())-->显示:AIzaSyAxwq
},
创建(){
console.log(this.$helpers.getApiKey())-->显示:12345
}
}
...
为什么希望定义它?您认为它应该具有什么值?我认为$config
包含在nuxt.config.js中的privateRuntimeConfig
下定义的值。↑ 如图所示