FirebaseをVue.JSアプリに統合したいと思います。
referencesをFirebaseのどこに配置するのでしょうか。
プロジェクトの依存関係としてFirebaseをプロジェクトディレクトリにcd
としてインストールし、コマンドラインで次のコマンドを実行するには
_npm install --save firebase
_
Main.jsファイルにこれを追加します
_import Vue from 'vue'
import App from './App.vue'
import * as firebase from 'firebase'
import { store } from './store/store'
const config = {
apiKey: "xxxxxxx",
authDomain: "xxxxxxx",
databaseURL: "xxxxxxx",
storageBucket: "xxxxxxxx",
messagingSenderId: "xxxxxxx"
};
firebase.initializeApp(config);
Vue.prototype.$firebase = firebase;
new Vue({
el: '#app',
store,
render: h => h(App)
})
_
firebase-config.js
_export const config = {
apiKey: "xxxxxxx",
authDomain: "xxxxxxx",
databaseURL: "xxxxxxx",
storageBucket: "xxxxxxxx",
messagingSenderId: "xxxxxxx"
};
_
Main.jsで次のようにします
_import Vue from 'vue'
import App from './App.vue'
import * as firebase from 'firebase'
import { store } from './store/store'
import { config } from './firebase-config'
firebase.initializeApp(config);
Vue.prototype.$firebase = firebase;
new Vue({
el: '#app',
store,
render: h => h(App)
})
_
_Vue.prototype
_にFirebaseを追加すると、_this.$firebase
_を使用してvueコンポーネントでFirebaseを使用できます
この動作が必要ない場合は、firebase.initializeApp(config);
を使用してfirebaseを初期化するだけです。
あなたのvuexストアに来たら、以下のようにfirebaseモジュールをインポートするだけです
_import Vue from 'vue'
import Vuex from 'vuex'
import * as firebase from 'firebase'
Vue.use(Vuex);
export const store = new Vuex.Store({
state:{},
mutations:{},
actions:{
myFirebaseAction: ({commit}) => {
//you can use firebase like this
var ref = firebase.database().ref()
}
}
});
_
Firebaseアプリインスタンスではなく_Vue.prototype
_にfirebase
グローバルネームスペースを追加することを提案した @ umang へのクレジット.