Nuxt firebaseの合成
NuxtでFireBaseを使用して組成APIのすべてのパワーを使用します.JSプロジェクト.
また、フォークをチェックアウトFirebase Composition with Vite
用途
のアプリケーションの例
なぜ?
これはどうですかnuxt/firebase and vuexfire and vuex-easy-firestore ?
再利用可能なモジュールを作成できます.例えば、上のコードを取りましょう
改善の余地は大きいが、私は基礎があると信じている.
セットアップ Nuxtの作成JSプロジェクト
モジュールと依存関係のインストール
クリエイト
プラグインを有効にする ファイアウォールの設定を
トドス
最初に、私はNuxtだけでなく互換性のあるVueパッケージを作成しようとしました、しかし、私は問題を得ました
私はnuxtjsのためのモジュールを作成しようとしましたが、いくつかの奇妙なエラーを、私はまだ解決することができなかった.しかし、モジュールとしてそれを持つことはすばらしいです.
私はいくつかのフィードバックやアイデアを得るのが大好きだ.
あなたがそれをインストールしようとした場合、それがスムーズに動作したり、問題が発生した場合は私に知らせてください.
サポート・ミー
あなたがアイデアが好きならばnuxt-firebase-composition Githubについて
何かがうまくいかなければcreate an issue .
また、フォークをチェックアウトFirebase Composition with Vite
用途
のアプリケーションの例
pages/index.vue
:<template>
<div v-if="!uid">
<button @click="signInWithGoogle">Sign in</button>
</div>
<div v-else>
<div>Signed in UID: {{ uid }}</div>
<ul>
<li v-for="todo in docs" :key="todo.id">{{ todo.title }}</li>
</ul>
<input v-model="newTodo" />
<button @click="addTodo">Add</button>
</div>
</template>
<script>
import { useAuth, useCollection, useDoc } from 'nuxt-firebase-composition'
import { ref } from '@nuxtjs/composition-api'
export default {
setup() {
const { uid, signInWithGoogle } = useAuth()
const { docs } = useCollection('todos')
const { create } = useDoc('todos')
const newTodo = ref('')
const addTodo = () => {
create({
title: newTodo.value,
})
newTodo.value = ''
}
return {
newTodo,
addTodo,
signInWithGoogle,
uid,
docs,
create,
}
},
}
</script>
なぜ?
これはどうですかnuxt/firebase and vuexfire and vuex-easy-firestore ?
再利用可能なモジュールを作成できます.例えば、上のコードを取りましょう
~/use/todos.js
:import { useCollection, useDoc } from 'nuxt-firebase-composition'
import { ref } from '@nuxtjs/composition-api'
export default () => {
const { docs: todos } = useCollection('todos')
const { create } = useDoc('todos')
const newTodo = ref('')
const addTodo = () => {
create({
title: newTodo.value,
})
newTodo.value = ''
}
return {
newTodo,
addTodo,
todos,
}
}
今すぐあなたが置き換えることができます<script>
section of initial code to:import { useAuth } from 'nuxt-firebase-composition'
import useTodos from '~/use/todos.js'
export default {
setup() {
const { uid, signInWithGoogle } = useAuth()
const { newTodo, addTodo, todos } = useTodos()
return {
signInWithGoogle,
uid,
newTodo,
addTodo,
todos,
}
},
}
私はまた、すべてのモジュールが使用される場合useCollection
and useDoc
and useAuth
インターフェイスとしてFireBaseから他のプロバイダに切り替えるには後で簡単になります.コードFireBaseやFireStoreで直接表示されません.改善の余地は大きいが、私は基礎があると信じている.
セットアップ
yarn create nuxt-app my-project
yarn add nuxt-firebase-composition firebase @nuxtjs/composition-api
~/plugins/firebase.client.js
:import { initFirebase } from 'nuxt-firebase-composition'
import { onGlobalSetup } from '@nuxtjs/composition-api'
export default ({ env: { firebase } }) => {
onGlobalSetup(() => {
initFirebase(firebase)
})
}
plugins
セクションnuxt.config.js
{
plugins: [
'~/plugins/firebase.client'
],
}
env
セクションnuxt.config.js
{
env: {
firebase: {
config: {
// REQUIRED: Official config for firebase.initializeApp(config):
apiKey: '<apiKey>',
authDomain: '<authDomain>',
databaseURL: '<databaseURL>',
projectId: '<projectId>',
storageBucket: '<storageBucket>',
messagingSenderId: '<messagingSenderId>',
appId: '<appId>',
measurementId: '<measurementId>'
},
services: {
auth: true,
firestore: true,
analytics: false
}
}
}
}
Firebaseの設定スニペットやその他のfirebase固有のパラメータ.FireBaseプロジェクトの概要ページからこの情報を取得できます.https://console.firebase.google.com/project/<your-project-id>/overview
トドス
nuxt@2
with @nuxtjs/composition-api
はまだ制限されており、我々が持つことができる機能の全体のスペクトルを提供していませんvue3
, 私はそれが解決されると思いますnuxt@3
.最初に、私はNuxtだけでなく互換性のあるVueパッケージを作成しようとしました、しかし、私は問題を得ました
provide
から@vue/composition-api
Nuxtjsで.私はnuxtjsのためのモジュールを作成しようとしましたが、いくつかの奇妙なエラーを、私はまだ解決することができなかった.しかし、モジュールとしてそれを持つことはすばらしいです.
私はいくつかのフィードバックやアイデアを得るのが大好きだ.
あなたがそれをインストールしようとした場合、それがスムーズに動作したり、問題が発生した場合は私に知らせてください.
サポート・ミー
あなたがアイデアが好きならばnuxt-firebase-composition Githubについて
何かがうまくいかなければcreate an issue .
Reference
この問題について(Nuxt firebaseの合成), 我々は、より多くの情報をここで見つけました https://dev.to/razbakov/nuxt-firebase-composition-5b82テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol