0
我正在尝试使用Firebase开发一个原型。在Firebase中使用云端函数中的车把
我正在使用Firebase功能。在功能目录我的package.json文件是:
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"dependencies": {
"express": "^4.15.4",
"firebase-admin": "~4.2.1",
"firebase-functions": "^0.5.7",
"hbs": "^4.0.1"
},
"private": true
}
我index.js文件看起来像:
const functions = require('firebase-functions');
const express = require('express');
const hbs = require('hbs');
var app = express();
app.set('view engine', hbs);
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.getMessages = functions.https.onRequest((req, res) => {
var abc = admin.database().ref('/messages').on("value", function(snapshot) {
res.send(snapshot.val());
}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
});
});
exports.showMessage = functions.https.onRequest((req, res) => {
res.render('about.hbs' , {
pageTitle : 'About Page',
currentYear : new Date().getFullYear()
});
});
当“的getMessage”功能工作正常,我在执行得到一个错误“showMessage”功能它使用第三方模块HBS。
功能日志显示
Error: Cannot find module 'hbs'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at new View (/var/tmp/worker/node_modules/express/lib/view.js:50:49)
at EventEmitter.app.render (/var/tmp/worker/node_modules/express/lib/application.js:545:12)
at ServerResponse.res.render (/var/tmp/worker/node_modules/express/lib/response.js:938:7)
at exports.showMessage.functions.https.onRequest (/user_code/index.js:46:9)
at cloudFunction (/user_code/node_modules/firebase-functions/lib/providers/https.js:26:47)
at /var/tmp/worker/worker.js:635:7