gpt4 book ai didi

node.js - Firebase:找不到 firebase 命名空间;请务必在此库之前包含 firebase-app.js。我得到了那个错误。我应该如何修复我的代码?

转载 作者:行者123 更新时间:2023-12-04 17:27:56 24 4
gpt4 key购买 nike

当我执行“firebase deploy”来构建 auth 函数时,出现错误 Cannot find the firebase namespace;请务必在此库之前包含 firebase-app.js。

然后我尝试修复,因为我认为我没有成功要求 firebase,我在执行 npm install --save firebase< 之后执行了 firebase deploy/。我可以在我的模块中看到 firebase 目录。但是,我无法成功部署。

我想修正这个错误。 firebase spacename 指的是哪里??

这是错误

Error: Error occurred while parsing your function triggers.

Error: Cannot find the firebase namespace; be sure to include firebase-app.js before this library.
at /Users/boutakuma/Desktop/socialapp/firebase_function/functions/node_modules/@firebase/auth/dist/auth.js:430:352
at /Users/boutakuma/Desktop/socialapp/firebase_function/functions/node_modules/@firebase/auth/dist/auth.js:430:455
at Object.<anonymous> (/Users/boutakuma/Desktop/socialapp/firebase_function/functions/node_modules/@firebase/auth/dist/auth.js:430:461)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)

这是我的 index.js

const functions = require('firebase-functions');
const admin = require('firebase-admin');

const express = require('express');
const app = express();

admin.initializeApp();

var firebaseConfig = {
apiKey: "***********************",
authDomain: "************************",
databaseURL: "************************",
projectId: "************************",
storageBucket: "************************",
messagingSenderId: "************************",
appId: "************************",
measurementId: "************************"
};

// require firebase
const firebase = require('firebase');
firebase.initializeApp(firebaseConfig);

app.get('/screams',(req,res) => {
admin
.firestore()
.collection('screams')
.orderBy('createdAt','descs')
.get()
.then((data) => {
let screams = [];
data.forEach((doc) => {
screams.push({
screamId: doc.id,
body: doc.data().body,
userHandle: doc.data().userHandle,
createdAt: doc.data().createdAt,
});
});
return res.json(screams);
})
.catch(err => console.error(err));
})


app.post('/scream',(req,res) => {
const newScream = {
body: req.body.body,
userHandle: req.body.userHandle,
createdAt: new Date().toISOString()
};
admin.firestore()
.collection('screams')
.add(newScream)
.then(doc => {
res.json({ message: `document ${doc.id} created successfully` });
})
.catch(err => {
res.status(500).json({ error: ' somethihg went wrong '});
console.error(err);
});
});

// Signup route

app.post('/signup', (req,res)=> {
const newUser = {
email: req.body.email,
password: req.body.password,
confirmPassword: req.body.confirmPassword,
handle: req.body.handle,
};

//Todo balidate data
firebase
.auth()
.createUserWithEmailAndPassword(newUser.email,newUser.password)
.then((data) => {
return res.status(201).json({ message: `user ${data.user.uid} signed up successgfully` });
})
.catch((err) => {
console.error(err);
return res.status(500).json({ error: err.code });
});
});

exports.api = functions.https.onRequest(app);

目录构建

.
└── functions
└── node_modules
:
├── extend
├── fast-text-encoding
├── faye-websocket
├── finalhandler
├── firebase
├── firebase-admin
├── firebase-functions
├── form-data
├── forwarded
:

补充:当我在添加 auth 函数或 require firebase 之前执行 firebase deploy 时,此代码有效。我认为 auth or require('firebase');

可能有问题

我应该如何修复我的代码?你认为原因是什么?感谢您阅读我的问题!

开发版

Node.js:v10.15.3

火力基地:‖7.15.0

火力管理:7.0.0

firebase 函数:3.6.2

最佳答案

我可以解决这个问题!我发现原因与 firebase 版本有关。所以,我做了以下事情:

  1. 我确实降级了 npm install --save firebase@5.9.0
  2. 我在我的 js 表上写了 require('firebase') 并保存。
  3. 我做了 firebase 部署↓我得到了部署完成!

引用来源

https://github.com/firebase/firebase-tools/issues/609

关于node.js - Firebase:找不到 firebase 命名空间;请务必在此库之前包含 firebase-app.js。我得到了那个错误。我应该如何修复我的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62192579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com