Ayu*_*dav 15 node.js firebase firebase-realtime-database google-cloud-functions
我是 firebase 函数的新手,并尝试将 firebase 函数与实时数据库(模拟器套件)一起使用。但是当我尝试使用 firebase 函数在 firebase 中设置值时,它会给出错误并且不会在数据库中设置值。
错误:
17:33:14
I
function[us-central1-textToLength]
[2021-11-05T12:03:14.194Z] @firebase/database: FIREBASE WARNING: wss:// URL used, but browser isn't known to support websockets. Trying anyway.
17:34:18
I
function[us-central1-textToLength]
[2021-11-05T12:04:18.762Z] @firebase/database: FIREBASE WARNING: wss:// URL used, but browser isn't known to support websockets. Trying anyway.
17:35:06
I
function[us-central1-textToLength]
[2021-11-05T12:05:06.473Z] @firebase/database: FIREBASE WARNING: wss:// URL used, but browser isn't known to support websockets. Trying anyway.
17:35:54
I
function[us-central1-textToLength]
[2021-11-05T12:05:54.409Z] @firebase/database: FIREBASE WARNING: wss:// URL used, but browser isn't known to support websockets. Trying anyway.
Run Code Online (Sandbox Code Playgroud)
firebase函数代码:
const functions = require('firebase-functions');
var admin = require("firebase-admin");
admin.initializeApp();
var database = admin.database();
exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
});
exports.textToLength = functions.https.onRequest((request, response) => {
var tex = request.query.text;
var textLength = tex.length;
console.log(textLength);
database.ref().child('test').set("op");
response.send(String(textLength));
});
Run Code Online (Sandbox Code Playgroud)
依赖项:
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"serve": "firebase emulators:start --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "14"
},
"main": "index.js",
"dependencies": {
"firebase-admin": "^9.8.0",
"firebase-functions": "^3.14.1",
"@firebase/database-compat": "0.1.2"
},
"devDependencies": {
"firebase-functions-test": "^0.2.0"
},
"private": true
}
Run Code Online (Sandbox Code Playgroud)
npm 安装的软件包
+-- @firebase/app-compat@0.1.7
| +-- @firebase/app@0.7.6
| | +-- @firebase/component@0.5.8
| | | +-- @firebase/util@1.4.1 deduped
| | | `-- tslib@2.3.1 deduped
| | +-- @firebase/logger@0.3.1
| | | `-- tslib@2.3.1 deduped
| | +-- @firebase/util@1.4.1
| | | `-- tslib@2.3.1 deduped
| | `-- tslib@2.3.1 deduped
| +-- @firebase/component@0.5.8
| | +-- @firebase/util@1.4.1 deduped
| | `-- tslib@2.3.1 deduped
| +-- @firebase/logger@0.3.1
| | `-- tslib@2.3.1 deduped
| +-- @firebase/util@1.4.1
| | `-- tslib@2.3.1 deduped
| `-- tslib@2.3.1
+-- @firebase/database-compat@0.1.2
| +-- @firebase/component@0.5.7
| | +-- @firebase/util@1.4.0 deduped
| | `-- tslib@2.3.1 deduped
| +-- @firebase/database@0.12.2
| | +-- @firebase/auth-interop-types@0.1.6
| | +-- @firebase/component@0.5.7 deduped
| | +-- @firebase/logger@0.3.0 deduped
| | +-- @firebase/util@1.4.0 deduped
| | +-- faye-websocket@0.11.4
| | | `-- websocket-driver@0.7.4
| | | +-- http-parser-js@0.5.3
| | | +-- safe-buffer@5.2.1 deduped
| | | `-- websocket-extensions@0.1.4
| | `-- tslib@2.3.1 deduped
| +-- @firebase/database-types@0.9.1
| | +-- @firebase/app-types@0.7.0
| | `-- @firebase/util@1.4.0 deduped
| +-- @firebase/logger@0.3.0
| | `-- tslib@2.3.1 deduped
| +-- @firebase/util@1.4.0
| | `-- tslib@2.3.1 deduped
| `-- tslib@2.3.1 deduped
`-- firebase-admin@10.0.0
+-- @firebase/database-compat@0.1.2 deduped
+-- @firebase/database-types@0.7.3
| `-- @firebase/app-types@0.6.3
+-- @google-cloud/firestore@4.15.1
| +-- fast-deep-equal@3.1.3
| +-- functional-red-black-tree@1.0.1
| +-- google-gax@2.28.0
Run Code Online (Sandbox Code Playgroud)
小智 10
同时,如果您使用的是最新的 Admin SDK 版本,则可以将 @firebase/database-compat 固定到 package.json 文件中的版本 0.1.2 作为临时修复。
“依赖项”:{“@firebase/database-compat”:“0.1.2”}
这对我有用。
参考: https: //github.com/firebase/firebase-admin-node/issues/1487
同时,如果您使用的是最新的 Admin SDK 版本,则可以将 @firebase/database-compat 固定到 package.json 文件中的版本 0.1.2 作为临时修复。
"dependencies": { "@firebase/database-compat": "0.1.2" }这对我有用。
参考: https: //github.com/firebase/firebase-admin-node/issues/1487
我引用了这个示例并且它有效,但是要通过删除 node_modules 文件夹和 package_lock.json 文件并运行来重建您的 package-lock.json 文件npm install --package-lock-only
| 归档时间: |
|
| 查看次数: |
1649 次 |
| 最近记录: |