0

我正在为我的应用程序的后端部分使用 firebase。我的代码是这样的:

 <script type="module">
        // Import the functions you need from the SDKs you need
        import { initializeApp } from "https://www.gstatic.com/firebasejs/9.6.1/firebase-app.js";
        // TODO: Add SDKs for Firebase products that you want to use
        // https://firebase.google.com/docs/web/setup#available-libraries
        import {getFirestore,collection,getDocs} from 'firebase/firestore/lite'
        // Your web app's Firebase configuration
        const firebaseConfig = {
         //My app's Config object...
        };
      
        // Initialize Firebase
        const app = initializeApp(firebaseConfig);
        
      </script>
     <script src="https://www.gstatic.com/firebasejs/9.6.1/firebase-app.js"></script>
     <script src="https://www.gstatic.com/firebasejs/9.6.1/firebase-auth.js"></script>
     <script src="https://www.gstatic.com/firebasejs/9.6.1/firebase-firestore.js"></script>

授权脚本:

const auth=firebase.auth();
const db=firebase.firestore();

我在浏览器控制台中收到这些错误:

Uncaught SyntaxError: Unexpected token 'export'
Uncaught SyntaxError: Cannot use import statement outside a module
Uncaught SyntaxError: Cannot use import statement outside a module
Uncaught ReferenceError: firebase is not defined at auth.js:1

有人可以帮帮我吗!

4

1 回答 1

1

自 JavaScript SDK 第 9 版以来,Firebase 改变了您调用其模块的方式。代码中的这两行适用于 v8 和之前的 SDK:

const auth=firebase.auth();
const db=firebase.firestore();

v9 及更高版本的等价物是:

const auth = getAuth();
const db = getFirestore()

我建议查看 Firebase 文档,其中包含两种 SDK 变体的示例、v9 SDK 的升级指南以及关于模块化 SDK 设计的这篇博文

于 2021-12-26T14:44:29.523 回答