Функции Firebase и пакеты внешних узлов - PullRequest
0 голосов
/ 25 мая 2020

В . / Functions / index. js Мне потребовалась пара внешних пакетов (node_modules), например: jsonwebtoken, uuid или escape Html, но они не работают как в браузер Я получаю:

«Ошибка: не удалось обработать запрос»

вопросы: как заставить его работать?

. / Functions / index. js:

const functions = require("firebase-functions");
const jwt = require("jsonwebtoken");

exports.getToken = functions.https.onRequest(async (request, response) => {
  const token = await jwt.sign({ id: 3333 }, "secret");
  response.send("Hello from Firebase! + ", token);
});

PS: В документации говорится, что предполагается разрешить внешние пакеты, даже локальные https://firebase.google.com/docs/functions/handle-dependencies

пакет. json:

{
  "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": "8"
  },
  "dependencies": {
    "firebase-admin": "^8.9.0",
    "firebase-functions": "^3.3.0",
    "jsonwebtoken": "^8.5.1",
    "uuid": "^8.1.0"
  },
  "devDependencies": {
    "firebase-functions-test": "^0.1.6"
  },
  "private": true
}

1 Ответ

1 голос
/ 26 мая 2020

Просматривая панель управления http://console.firebase.google.com, я обнаружил, что в functions / logs есть эта ошибка:

Биллинг-аккаунт не настроен. Внешняя сеть недоступна, и квоты сильно ограничены. Настройте платежную учетную запись, чтобы удалить эти ограничения

Я думаю, это означает, что с бесплатной учетной записью firebase (Spark) она не позволит мне запускать внешние node_packages. Но, вероятно, это будет работать с планом Pay as you go (Blaze).

Может ли кто-нибудь с планом Blaze подтвердить, что пакеты внешних узлов работают с firebase в их файле functions/index.js?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...