【问题标题】:Deploying firebase cloud function in typescript在打字稿中部署firebase云功能
【发布时间】:2019-08-30 17:17:03
【问题描述】:

我正在尝试部署第一个云功能。 它工作得很好,但是当我尝试在终端中部署它时,它会发出警告说“函数已声明,但它的值从未被读取”。

这是一些常见的开始错误,因为我是这个主题的新手吗?谢谢。

我尝试了两个导入,部署错误仍然相同

 // const functions = require('firebase-functions');
import * as functions from 'firebase-functions' 

Errors message

index.ts file code here

【问题讨论】:

  • 发布到 Stack Overflow 时,请不要提供错误消息和代码的屏幕截图。将文本复制到问题中并将其格式化为代码,以便于阅读、复制和搜索。

标签: firebase google-cloud-firestore google-cloud-functions


【解决方案1】:

您的代码尚未声明任何 Cloud Functions,因此 eslint 会警告您正在导入 functions 但未使用它。

当您在 index.js/index.ts 中声明云函数时,该消息将消失。例如,getting started 上的文档包含以下示例:

exports.addMessage = functions.https.onRequest((req, res) => {
  const original = req.query.text;
  return admin.database().ref('/messages').push({original: original}).then((snapshot) => {
    return res.redirect(303, snapshot.ref.toString());
  });
});

如您所见,此代码在其第一行使用 functions。因此,如果您将此(或任何其他 Cloud Functions 声明)添加到您的代码中,您正在使用functionseslint 将不再警告您它没有被使用。

【讨论】:

  • 是的,他确实声明了一个云功能(cf 屏幕截图)
  • 而且...这是不显示代码截图的另一个原因。 :) 感谢您指出@Rsmusic。在那种情况下,我不知道为什么 eslint 声称 functions 未使用。
【解决方案2】:

当您最终在云函数中使用“函数”时,错误将消失。

没关系,你最好使用 const functions = require('firebase-functions');

在 index.js 中导入 firebase-functions 时

======== 编辑:======

通过在正确的文件夹中运行这些 npm 命令,确保您已正确安装了这些依赖项:

npm install firebase-functions@latest firebase-admin@latest --save
npm install -g firebase-tools

【讨论】:

  • 我试过了 ** const functions = require('firebase-functions');** 还是不行
  • 感谢@Rsmusic 给定的时间,仍然无法正常工作,我已经安装了根项目级文件夹和功能级文件夹。
  • 您应该尝试使用以下命令将 index.js 重新部署到 firebase:firebase deploy --only:functions
【解决方案3】:

可能已解决,但对我来说,我期待 ~/functions/index.ts 是文件构建,但 firebase cli 添加了 ~/functions/src/index.ts 并且这就是文件。

【讨论】:

    猜你喜欢
    • 2020-09-04
    • 2021-12-01
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    相关资源
    最近更新 更多