Moh*_*eja 7 firebase firebase-realtime-database google-cloud-functions
随着firebase云功能的最新更新,我在初始化应用程序时遇到错误,以及数据库引用.
第一个错误:以下内容应该基于Firebase函数v1.0文档和示例(https://github.com/firebase/friendlychat-web/blob/master/cloud-functions/functions/index.js)
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(); //this fails
Run Code Online (Sandbox Code Playgroud)
我在上面代码的firebase部署中遇到以下错误:
Error: Error occurred while parsing your function triggers.
Error: Failed to parse app options file: Error: ENOENT: no such file or directory, open '[object Object]'
at FirebaseAppError.FirebaseError [as constructor] (/Users/ZZZ/dummy/functions/node_modules/firebase-admin/lib/utils/error.js:39:28)
at FirebaseAppError.PrefixedFirebaseError [as constructor] (/Users/ZZZ/dummy/functions/node_modules/firebase-admin/lib/utils/error.js:85:28)
at new FirebaseAppError (/Users/ZZZ/dummy/functions/node_modules/firebase-admin/lib/utils/error.js:119:28)
at FirebaseNamespaceInternals.loadOptionsFromEnvVar (/Users/ZZZ/dummy/functions/node_modules/firebase-admin/lib/firebase-namespace.js:214:19)
at FirebaseNamespaceInternals.initializeApp (/Users/ZZZ/dummy/functions/node_modules/firebase-admin/lib/firebase-namespace.js:64:28)
at FirebaseNamespace.initializeApp (/Users/ZZZ/dummy/functions/node_modules/firebase-admin/lib/firebase-namespace.js:362:30)
at Object.<anonymous> (/Users/ZZZ/dummy/functions/index.js:5:7)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
Run Code Online (Sandbox Code Playgroud)
如果我传递配置文件,则会解决此错误(但它违反了firebase文档)
const functions = require('firebase-functions');
const admin = require('firebase-admin');
var config = {
apiKey: "<APIKEY>",
authDomain: "<DOMAIN>",
databaseURL: "<URL>",
projectId: "<PROJECTID>",
storageBucket: "<BUCKET>",
messagingSenderId: "<ID>"
};
admin.initializeApp(config);//this works
Run Code Online (Sandbox Code Playgroud)
第二个错误:当我按如下方式进行数据库引用调用时,它会失败并出错:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
var config = {
apiKey: "<APIKEY>",
authDomain: "<DOMAIN>",
databaseURL: "<URL>",
projectId: "<PROJECTID>",
storageBucket: "<BUCKET>",
messagingSenderId: "<ID>"
};
const app = admin.initializeApp(config);
exports.updateUserProfile = functions.database.ref('/UserProfile/{userid}')
.onCreate((snapshot, context) => {
console.log(snapshot.val());
});
Run Code Online (Sandbox Code Playgroud)
日志:
Running command: npm --prefix "$RESOURCE_DIR" run lint
> functions@ lint /Users/ZZZ/dummy/functions
> eslint .
? functions: Finished running predeploy script.
i functions: ensuring necessary APIs are enabled...
? functions: all necessary APIs are enabled
i functions: preparing functions directory for uploading...
Error: Unexpected token o in JSON at position 1
Run Code Online (Sandbox Code Playgroud)
由于firebase CLI 版本 3.18.1中的错误,您遇到此错误。尝试卸载当前版本并安装 3.18.0,这应该可以解决错误。
npm uninstall -g firebase-tools
npm install -g firebase-tools@3.18.0
Run Code Online (Sandbox Code Playgroud)
更新:Firebase CLI 3.18.2 版已发布,问题现已解决。
如果您已更新 NPM 模块,那么您现在使用的是 Cloud Functions v1 的稳定版本。应该对现有代码进行一些细微的更改。请按照以下指南操作
适用于 Cloud Functions 的 Firebase SDK 版本 1.0.0 在 API 中引入了一些重要更改。主要更改是用数据和上下文参数替换 event.data 格式,影响所有异步(非 HTTP)函数。更新后的 SDK 还可以与全新的单元测试配套 SDK firebase-functions-test 一起使用。有关详细信息,请参阅单元测试函数。
归档时间: |
|
查看次数: |
1352 次 |
最近记录: |