【问题标题】:Firebase Functions can't find pugFirebase 函数找不到哈巴狗
【发布时间】:2019-07-24 16:52:18
【问题描述】:

我有一个简单的 firebase 函数,可以渲染一个 pug 模板。

const functions = require('firebase-functions');
const admin = require('firebase-admin');
const creds = {
    projectId: "retnikt-blog",
    privateKey: "-----BEGIN PRIVATE KEY-----\n REDACTED \n-----END PRIVATE KEY-----\n",
    clientEmail: "REDACTED@REDACTED.iam.gserviceaccount.com"
};

admin.initializeApp({credential: admin.credential.cert(creds)});
const app = require("express")();
const pug = require("pug");
app.engine('pug', pug.__express);
app.set('view engine', 'pug');
app.set('views', '../views');

exports.myFunction = functions.https.onRequest((req, res) => {
    res.render('blog.pug', {
        title: 'title',
        body: 'body',
        author: 'author',
        date: 'date',
        categories: 'categories',
        tags: 'tags'
    });
});

当我运行这个函数时,它告诉我Error: Cannot find module 'pug'。我已经在项目的根目录中安装了带有 NPM 的 pug,并且在我的 package.json 依赖项中我指定了 pug:

"dependencies": {
    ...
    "pug": "2.0.3"
}

我全局安装了 Pug,现在它可以在本地运行,但是当我部署它时,它只会给出“错误:无法处理请求”,状态为 500。

我的两个问题是: A)为什么无法识别已安装的哈巴狗, 和 B)“无法处理请求”是否也是因为哈巴狗未被识别?

编辑:检查日志后发现这是正确的

NodeJs v8.10.0 firebase 工具 3.18.5

【问题讨论】:

    标签: node.js firebase pug google-cloud-functions


    【解决方案1】:

    pug 必须是函数文件夹中的 package.json 依赖项,而不是根文件夹中的依赖项。

    【讨论】:

      猜你喜欢
      • 2018-01-02
      • 2017-10-27
      • 1970-01-01
      • 1970-01-01
      • 2018-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多