首页 > 解决方案 > 为什么没有部署firebase函数onCall?

问题描述

我在 index.ts 中有打字稿代码

import * as functions from "firebase-functions";
import * as cors from "cors";

cors({ origin: true });

exports.myFunc = functions.https.onCall((data, context) => {
  const { uid } = context.auth;

  return { uid };
});

如果我尝试部署此功能:

firebase deploy --only functions:myFunc

我回来了:

功能:指定了以下过滤器,但不匹配项目中的任何功能:myFunc

我究竟做错了什么 ?

标签: javascripttypescriptfirebasegoogle-cloud-functions

解决方案


我发现了一个错误。Typescript 在目录中编译我的 .js 文件,lib/functions/src/index.js但我的 package.json 文件具有指向主文件的外部路径

{
  ...
  "main": "lib/index.js",
  ...
}

我改成

{
  ...
  "main": "lib/functions/src/index.js",
  ...
}

它奏效了!


推荐阅读