javascript - 未捕获的 SyntaxError:预期的表达式,得到 '<','firebase' 未定义
问题描述
因此,当我将一个简单的 firebase html 页面部署到前端托管站点时,它会显示所有 js 链接的错误
我研究并发现重定向到 html 可能有问题,但找不到原因。
Uncaught SyntaxError: expected expression, got '<'
Uncaught ReferenceError: firebase is not defined
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Welcome to Firebase Hosting</title>
<!-- update the version number as needed -->
<script defer src="/__/firebase/8.7.1/firebase-app.js"></script>
<!-- include only the Firebase features as you need -->
<script defer src="/__/firebase/8.7.1/firebase-auth.js"></script>
<script defer src="/__/firebase/8.7.1/firebase-database.js"></script>
<script defer src="/__/firebase/8.7.1/firebase-firestore.js"></script>
<script defer src="/__/firebase/8.7.1/firebase-functions.js"></script>
<script defer src="/__/firebase/8.7.1/firebase-messaging.js"></script>
<script defer src="/__/firebase/8.7.1/firebase-storage.js"></script>
<script defer src="/__/firebase/8.7.1/firebase-analytics.js"></script>
<script defer src="/__/firebase/8.7.1/firebase-remote-config.js"></script>
<script defer src="/__/firebase/8.7.1/firebase-performance.js"></script>
<!--
initialize the SDK after all desired features are loaded, set useEmulator to false
to avoid connecting the SDK to running emulators.
-->
<script defer src="/__/firebase/init.js?useEmulator=true"></script>
</head>
<body>
<div id="message">
<h2>Welcome</h2>
<h1>Firebase Hosting Setup Complete</h1>
<p>
You're seeing this because you've successfully setup Firebase Hosting.
Now it's time to go build something extraordinary!
</p>
<a target="_blank" href="https://firebase.google.com/docs/hosting/"
>Open Hosting Documentation</a
>
</div>
<p id="load">Firebase SDK Loading…</p>
<script>
document.addEventListener("DOMContentLoaded", function () {
const loadEl = document.querySelector("#load");
// //
// // The Firebase SDK is initialized and available here!
//
// firebase.auth().onAuthStateChanged(user => { });
// firebase.database().ref('/path/to/ref').on('value', snapshot => { });
firebase
.firestore()
.doc("/foo/bar")
.get()
.then((doc) => {
if (doc.exists) {
console.log("Document data:", doc.data());
} else {
// doc.data() will be undefined in this case
console.log("No such document!");
}
})
.catch((error) => {
console.log("Error getting document:", error);
});
// firebase.functions().httpsCallable('yourFunction')().then(() => { });
// firebase.messaging().requestPermission().then(() => { });
// firebase.storage().ref('/path/to/ref').getDownloadURL().then(() => { });
// firebase.analytics(); // call to activate
// firebase.analytics().logEvent('tutorial_completed');
// firebase.performance(); // call to activate
//
// //
try {
let app = firebase.app();
let features = [
"auth",
"database",
"firestore",
"functions",
"messaging",
"storage",
"analytics",
"remoteConfig",
"performance",
].filter((feature) => typeof app[feature] === "function");
loadEl.textContent = `Firebase SDK loaded with ${features.join(
", "
)}`;
} catch (e) {
console.error(e);
loadEl.textContent =
"Error loading the Firebase SDK, check the console.";
}
});
</script>
</body>
</html>
''' Uncaught SyntaxError: 预期的表达式,得到 '<' '''
''' Uncaught ReferenceError: firebase is not defined '''
解决方案
此导入仅存在于在 Firebase CLI 中使用 Firebase 托管或其模拟器时:
<script defer src="/__/firebase/init.js?useEmulator=true"></script>
此init.js
文件包含您的 Firebase 项目的配置数据,其他托管服务提供商对此一无所知。
因此,当在另一个托管服务提供商上运行此应用程序时,您必须通过从 Firebase 控制台复制/粘贴来明确定义配置。有关如何执行此操作的详细信息,请参阅第 3 步:添加 Firebase SDK 并初始化 FirebaseFrom the CDN中的选项卡。供参考:您现在已经按照同一部分的步骤进行操作。From Hosting URLs
推荐阅读
- sql - CTE 表优化
- r - 创建一个 ETF 投资组合 csv 数据
- postgresql - UTC [38] 错误:无法获得与“ir_cron”相关的行的锁定(在 Fetchmail 服务操作之后)
- vue.js - 使用 v-select multiple 时无法更新数据
- ios - 使用 swift 放大到 PDFKit 中的特定坐标
- android - 如何解决 err_unknown_url_scheme?
- php - 如何在 lighttpd 上将 ectension .php 更改为例如 .123
- azure-cosmosdb - 如何递归计算子文档
- javascript - 机器人正常运行时间 Discord.JS
- c# - 如何完全验证 X509 证书?