В настоящее время у меня есть развернутое приложение firebase, которое я теперь подключаю к узлу для создания пользовательского интерфейса. Я ранее развертывал это приложение с хостингом firebase и базой данных firebase в реальном времени и не испытывал никаких проблем. Даже при точном воспроизведении примера кода и указаний из видео «Приложения Node.js на ускоренном курсе хостинга Firebase - Firecasts» я встречал эту ошибку при попытке вызвать службу firebase из командной строки. Я использую Mac OSX. Сообщение об ошибке выглядит следующим образом:
i functions: Preparing to emulate functions.
i hosting: Serving hosting files from: public
✔ hosting: Local server: http://localhost:5000
✔ functions: helloWorld: http://localhost:5001/test-setup-5ae3a/us-central1/helloWorld
127.0.0.1 - - [26/Nov/2018:21:53:20 +0000] "GET /__/firebase/init.js HTTP/1.1" 200 - "http://localhost:5000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"
TypeError: glob pattern string required
at minimatch (/usr/local/lib/node_modules/firebase-tools/node_modules/minimatch/minimatch.js:94:11)
at /usr/local/lib/node_modules/firebase-tools/node_modules/superstatic/lib/middleware/rewrites.js:20:11
at /usr/local/lib/node_modules/firebase-tools/node_modules/superstatic/lib/middleware/rewrites.js:33:17
at _run (/usr/local/lib/node_modules/firebase-tools/node_modules/superstatic/lib/activator.js:58:16)
at /usr/local/lib/node_modules/firebase-tools/node_modules/superstatic/lib/middleware/files.js:117:16
at tryCatch (/usr/local/lib/node_modules/firebase-tools/node_modules/rsvp/dist/rsvp.js:525:12)
at invokeCallback (/usr/local/lib/node_modules/firebase-tools/node_modules/rsvp/dist/rsvp.js:538:13)
at publish (/usr/local/lib/node_modules/firebase-tools/node_modules/rsvp/dist/rsvp.js:508:7)
at flush (/usr/local/lib/node_modules/firebase-tools/node_modules/rsvp/dist/rsvp.js:2415:5)
at _combinedTickCallback (internal/process/next_tick.js:73:7)
Вот мой firebase.json:
{
"database": {
"rules": "database.rules.json"
},
"hosting": {
"public": "public",
"rewrites": [
{
"sources": "/timestamp",
"function": "app"
}
],
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
},
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint"
]
}
}
Вот документ index.js в папке моих функций:
const functions = require('firebase-functions');
const express = require('express');
const app = express();
app.get('/timestamp', (request, responce) => {
response.send(`${Date.now}`);
});
exports.helloWorld = functions.https.onRequest(app);

Проблема в этой строке:
exports.helloWorld = functions.https.onRequest(app);
Должен быть:
exports.app = functions.https.onRequest(app);
Вероятно, это вызвано чем-то в вашем файле
firebase.json, поэтому, пожалуйста, включите в свой вопрос минимальный файл, который вы можете воспроизвести. Также см. как создать минимальный, полный, проверяемый пример.