在尝试使用firebasedeploy-onlyfunctions命令。我有两个正在使用的项目,一个开发和一个生产,我在生产和部署方面工作得也很好,但当我添加这个项目开发时,部署在生产中一直工作得很好,但是在这个新的项目开发中没有。我得到了这个错误:
错误:分析函数触发器时出错。
TypeError:无法读取未定义的属性"environment"在对象处。(/home/projectId/Bitbucket/project-backend/functions/lib/db.js:6:35(
为了工作,我在cert/dev/firebase-dev.json中添加了密钥和所有内容。文件db.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.db = void 0;
const admin = require("firebase-admin");
const functions = require("firebase-functions");
const dir = functions.config().app.environment;
const certFile = `firebase-${dir}.json`;
//using admin SDK
const serviceAccount = require(__dirname + `/../cert/${dir}/${certFile}`);
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
.....
有什么想法吗谢谢。
由于错误为cannot read property 'environment' of undefined
,并且在您的代码中我们看到
const dir = functions.config().app.environment;
错误似乎来自环境配置。
您应该仔细检查环境配置是否在dev-environment/project中正确设置。
为此,您应该使用firebase functions:config:get
CLI命令,如文档中所述。