使用 Firebase Cloud Functions 部署/测试函数

Syk*_*rsk 2 json function node.js firebase google-cloud-functions

我正在关注教程,尝试将一些函数部署到 Firebase,我可以成功地将它们部署到我的项目 ID。在提供的 URL 上访问以下函数时,出现错误:无法处理请求

// The Cloud Functions for Firebase SDK to create Cloud Functions and setup 
triggers.
const functions = require('firebase-functions');

// The Firebase Admin SDK to access the Firebase Realtime Database. 
const admin = require ('firebase-admin');
admin.initializeApp(functions.config().firebase);

exports.date = functions.https.onRequest((req, res) => {
let format = req.query.format;
const date = moment().format();
res.status(200).json({ date: date});
})
Run Code Online (Sandbox Code Playgroud)

我的 Firebase 控制台在执行时记录此内容:

ReferenceError: moment is not defined
at exports.date.functions.https.onRequest (/user_code/index.js:10:24)
at cloudFunction (/user_code/node_modules/firebase-
functions/lib/providers/https.js:26:41)
at /var/tmp/worker/worker.js:635:7
at /var/tmp/worker/worker.js:619:9
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickDomainCallback (internal/process/next_tick.js:128:9)
Run Code Online (Sandbox Code Playgroud)

package.json在我的functions文件夹中有"moment": "^2.19.1"依赖项。

我究竟做错了什么?我如何定义moment

Fra*_*len 5

已经moment.js在您定义的package.json唯一手段,它会被安装在你的代码运行的环境。要在您的代码中使用它,您需要导入moment库:

const functions = require('firebase-functions');
const moment = require('moment');

const admin = require ('firebase-admin');
admin.initializeApp(functions.config().firebase);

exports.date = functions.https.onRequest((req, res) => {
  let format = req.query.format;
  const date = moment().format();
  res.status(200).json({ date: date});
})
Run Code Online (Sandbox Code Playgroud)

另请参阅moment.js 文档以在 node.js 中使用它