Reputation: 382
I try to start playing with Firebase 9. I use VSCode and export using npm (in vscode)
<script src="https://www.gstatic.com/firebasejs/9.0.0-beta.5/firebase-app-compat.js"></script>
<script src="https://www.gstatic.com/firebasejs/9.0.0-beta.5/firebase-analytics-compat.js"></script>
<script src="https://www.gstatic.com/firebasejs/9.0.0-beta.5/firebase-auth-compat.js"></script>
<script src="https://www.gstatic.com/firebasejs/9.0.0-beta.5/firebase-firestore-compat.js"></script>
<script src="https://www.gstatic.com/firebasejs/9.0.0-beta.5/firebase-storage-compat.js"></script>
<!-- init -->
<script defer src="firebase/init.js" type="text/javascript"></script>
<script type="module">
import {
getAuth,
onAuthStateChanged
} from "firebase/auth";
const auth = getAuth(firebaseApp);
onAuthStateChanged(auth, user => {
console.log(user)
});
</script>
Error
Uncaught TypeError: Failed to resolve module specifier "firebase/auth". Relative references must start with either "/", "./", or "../".
Upvotes: 1
Views: 5100
Reputation: 382
This is what I am using now (thank you Peter)
// initialize
import {
initializeApp
} from 'https://www.gstatic.com/firebasejs/9.6.8/firebase-app.js';
const firebaseConfig = {
apiKey: "xxx",
authDomain: "xxx",
projectId: "xxx",
storageBucket: "xxx.appspot.com",
messagingSenderId: "xx",
appId: "1:xx:web:xx",
measurementId: "G-xx"
};
const firebaseApp = initializeApp(firebaseConfig);
// Add Firebase products that you want to use
import {
getAuth,
onAuthStateChanged,
signInWithEmailAndPassword,
signOut
} from 'https://www.gstatic.com/firebasejs/9.6.8/firebase-auth.js';
import {
getFirestore,
collection,
getDocs,
getDoc,
doc,
setDoc
} from 'https://www.gstatic.com/firebasejs/9.6.8/firebase-firestore.js';
import {
getStorage,
ref,
uploadBytesResumable,
getDownloadURL,
listAll,
deleteObject
} from "https://www.gstatic.com/firebasejs/9.6.8/firebase-storage.js";
//============================================
//============================================
const db = getFirestore();
const auth = getAuth();
let UID;
window.addEventListener('DOMContentLoaded', (event) => {
onAuthStateChanged(auth, (user) => {
if (user) {
UID = user.uid;
//Your code...
}
});
});
Upvotes: 0
Reputation: 7254
I ran into the same issue and was able to resolve it by closely watching David's video around the 5:40 timestamp.
Here is the basic boilerplate that works when serving locally:
import { initializeApp } from 'https://www.gstatic.com/firebasejs/9.0.0/firebase-app.js';
import { getAuth, onAuthStateChanged } from 'https://www.gstatic.com/firebasejs/9.0.0/firebase-auth.js';
const firebaseApp = initializeApp({
// (insert your Firebase configuration here)
});
const auth = getAuth(firebaseApp);
onAuthStateChanged(auth, user => {
if (user) {
console.log('Logged in as ${user.email}' );
} else {
console.log('No user');
}
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Getting started with Firebase Auth</title>
<script type="module" src="/index.js"></script>
</head>
<body>
</body>
</html>
Upvotes: 6