我正在创建一个网页。我正在使用Firebase和Angular。过去我通过以下方式安装SDK来进行身份验证:
npm install --save firebase
然后我使用 require 或 import ,并在 firebase.js 中配置代码:
import firebase from "firebase/app";
import "firebase/auth";
import "firebase/firestore";
var firebaseConfig = {
apiKey: ...
authDomain: ...
projectId: ...
...
};
firebase.initializeApp(firebaseConfig);
export const auth = firebase.auth();
export const firestore = firebase.firestore();
export const keep_session = firebase.auth.Auth.Persistence.SESSION;
但是现在我同时使用托管。 here告诉您使用以下方法:
<script src="/__/firebase/7.21.0/firebase-analytics.js"></script>
<script src="/__/firebase/7.21.0/firebase-auth.js"></script>
<script src="/__/firebase/7.21.0/firebase-firestore.js"></script>
将其置于 body 块中,看起来与以前相同。 问题是当我在端口4200上使用 ng服务时,我在控制台中看到它无法识别脚本。 是的, firebase服务是,但是它不显示我的网络。仅一个示例网页。使用我的Firebase库是,但没有我的内容。
所以我的疑问是如何做到这一点。 真的可以使用此脚本在我的应用中安装SDK吗?当我编写代码时,它无法识别。 我应该使用其他方式安装依赖项吗?
我也会在写的时候知道
firebase服务
具有5000端口的结果与在4200中使用时的结果相同
ng服务
在我的项目中,仅关于firebase,我有 firebase.json 和 .firebaserc 文件。 package.json 中没有任何内容。
感谢帮助。
编辑: 进行 ng构建,然后修改 firebase.json
"hosting": {
...
"public": "dist/app_name",
...
}
我终于看到了我的网站
firebase服务
所以现在的问题是,如果我的package.json中没有模块,我该如何开发?我进行导入时,IDE无法识别
答案 0 :(得分:1)
那些特定的脚本包括您正在使用带有两个下划线的脚本,仅当网站由Firebase Hosting或其本地仿真器(firebase serve
)托管时才起作用。它们将无法正常工作(包括ng serve
)。
如果您使用捆绑程序(Angular这样做),则根本不会使用这些脚本。构建应用程序时,相关代码将来自您运行npm install
时安装的模块。