Должно быть, я неправильно импортирую firebaseui. Я пытаюсь импортировать его как CDN вот так:
Код: Выделить всё
import * as firebaseui from 'https://www.gstatic.com/firebasejs/ui/6.1.0/firebase-ui-auth.js';
Код: Выделить всё
import * as firebaseui from 'firebaseui';). При импорте в качестве CDN, как указано выше, а затем запуске этого кода:
// Firebase Config
const firebaseConfig = {
// ...
};
const app = initializeApp(firebaseConfig);
const authInstance = getAuth();
// FirebaseUI config
const uiConfig = {
credentialHelper: firebaseui.auth.CredentialHelper.NONE,
signInOptions: [
EmailAuthProvider.PROVIDER_ID,
],
callbacks: {
signInSuccessWithAuthResult: function (authResult, redirectUrl) {
return false;
},
},
};
// Initialize the FirebaseUI widget using Firebase:
const ui = new firebaseui.auth.AuthUI(authInstance);
Не перехвачено (в обещании) Ошибка типа: невозможно прочитать свойства неопределенного значения (чтение ' CredentialHelper')
Закомментирование строки credentialHelper также приводит к аналогичной ошибке, но с использованием firebaseui.auth.AuthUI(authInstance) строка.
Однако:
Если вместо этого я предоставлю скрипт firebaseui и запущу его непосредственно в html-файле. ..
Код: Выделить всё
import { initializeApp } from 'https://www.gstatic.com/firebasejs/11.1.0/firebase-app.js';
import { collection, getDocs, getFirestore } from 'https://www.gstatic.com/firebasejs/11.1.0/firebase-firestore.js';
import { EmailAuthProvider, getAuth, signOut, onAuthStateChanged } from 'https://www.gstatic.com/firebasejs/11.1.0/firebase-auth.js';
// Initial variables
let db, auth;
// ...
async function main() {
// function that runs on page load
// Firebase Config
const firebaseConfig = {
// ...
};
// Firebase/Firestore variables
const app = initializeApp(firebaseConfig);
const authInstance = getAuth();
const db = getFirestore(app);
// FirebaseUI config
const uiConfig = {
credentialHelper: firebaseui.auth.CredentialHelper.NONE,
signInOptions: [
// Email / Password Provider.
EmailAuthProvider.PROVIDER_ID,
],
callbacks: {
signInSuccessWithAuthResult: function (authResult, redirectUrl) {
// Handle sign-in.
// Return false to avoid redirect.
return false;
},
},
};
// Initialize the FirebaseUI widget using Firebase:
const ui = new firebaseui.auth.AuthUI(authInstance);
//...
Что я делаю неправильно при первой попытке? Я бы предпочел сохранить сценарий в виде отдельного js-файла.
Спасибо и извините, если я неправильно использую некоторые термины, я новичок во всем этом.
Подробнее здесь: https://stackoverflow.com/questions/793 ... cdn-module