我在我的mac上安装了firebase工具。 我得到的firebase版本是3.14.0
我认为看完之后: https://firebase.google.com/docs/functions/config-env
我需要做的就是运行:
firebase functions:config:set someservice.key="THE API KEY" someservice.id="THE CLIENT ID"
但如果我错了,下面有一篇长篇文章解释我的问题。
感谢。
使用指南:
https://firebase.google.com/docs/functions/get-started
我的目录结构看起来很合理。 package.json文件如下:
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"serve": "firebase serve --only functions",
"shell": "firebase experimental:functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"dependencies": {
"firebase-admin": "~5.4.2",
"firebase-functions": "^0.7.1"
},
"private": true
}
在index.js文件中,我有三行代码:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
但是当我运行firebase部署时,它会在准备上传功能时暂停。
i functions: preparing functions directory for uploading...
Error: Error occurred while parsing your function triggers.
/private/var/folders/1v/xxxxxxxxxxxxxxxxxxxxxxxx/T/xxxxxxxxxxxxxxxxxx/index.js:2
const admin = require('firebase-admin’);
^^^^^^^^^^^^^^^^^^
SyntaxError: Invalid or unexpected token
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
我之前使用过firebase云功能以及之前的应用程序,我最初安装了一些帮助,我记得可能不得不对配置文件进行一些改动,使用firebase功能。但我真的不记得了。这次唯一的区别是安装firebase工具时我选择了Firestore以及firebase数据库。
我还检查过我已经使用firebase登录登录了,我是。
更新
我确实看过:
https://firebase.google.com/docs/functions/config-env
我只是不确定需要设置哪些环境变量。
有帖子Cloud Functions for Firebase Error occurred while parsing your function triggers
关于设置:
firebase functions:config:set gmail.email="email@gmail.com" gmail.password="gmailPassword"
但我已经使用我的电子邮件登录,因此不确定是否需要重新设置。
还有https://firebase.google.com/docs/admin/setup和几行关于“如果您在云功能中使用Node.js Admin SDK,您可以通过functions.config()变量自动初始化SDK:”admin。 initializeApp(functions.config()火力);
还有这篇文章:手动设置配置文件,但不确定它的相关性:
How do you setup local environment variables for Cloud Functions for Firebase
感谢。
答案 0 :(得分:2)
此声明中的结束标记不正确。应该是一个简单的撇号,如开头的嘀嗒声,而不是“正确的单引号”(unicode 8217):
const admin = require('firebase-admin’);
更改它以匹配开头的刻度。
令人费解的是,您发布的代码中的勾号是正确的:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
但不在错误输出中:
/private/var/folders/1v/xxxxxxxxxxxxxxxxxxxxxxxx/T/xxxxxxxxxxxxxxxxxx/index.js:2
const admin = require('firebase-admin’);
^^^^^^^^^^^^^^^^^^