前提・実現したいこと
Vueとfirebase functionsをローカルで実行(firebase emulators:start
)させて開発したいと思っています。
発生している問題・エラーメッセージ
firebase emulators:start
でVueとfirebase functionsのローカル実行環境は動作するのですが、Vueからfirebase functionsを呼び出す際に、ローカルではなくcloudfunctions.net
を見にいってしまいます。
該当のソースコード
firebase.js
- firebaseConfigはFirebase SDK snippetから取得したデータです
javascript
1const firebaseConfig = { 2 apiKey: "xxxx", 3 authDomain: "xxxx", 4 databaseURL: "xxxx", 5 projectId: "xxxx", 6 storageBucket: "xxxx", 7 messagingSenderId: "xxxx", 8 appId: "xxxx", 9 measurementId: "xxxx" 10}; 11 12export default { 13 init() { 14 firebase.initializeApp(firebaseConfig); 15 firebase.analytics(); 16 }, 17 functions() { 18 return firebase.app().functions('asia-northeast1'); 19 } 20};
HelloWorld.vue
<script> import firebaseConfig from '@/plugins/firebase' export default { name: 'helloWorld', components: { }, created: function () { this.getHelloWorld() }, methods: { HelloWorld() { const api = firebaseConfig.functions().httpsCallable('helloWorld') api().then((response) => { console.log(response) }).catch(err => { }) } } } </script>
main.js
import Vue from 'vue' import App from './App.vue' import router from './router' import store from './store' import firebaseConfig from './plugins/firebase' Vue.config.productionTip = false firebaseConfig.init() new Vue({ router, store, render: h => h(App) }).$mount('#app')
補足情報(FW/ツールのバージョンなど)
バージョン
"dependencies": { "core-js": "^3.6.5", "firebase": "^8.0.1", "firebase-tools": "^8.15.1", "vue": "^2.6.11", "vue-router": "^3.2.0", "vuex": "^3.4.0" },
firebase functionsを呼び出したら、cloudfunctions.netを見にいくのは仕様だと思います。
エラーメッセージを貼ってもらえないでしょうか。
あなたの回答
tips
プレビュー