为什么Firebase函数onCall无法部署?

时间:2018-12-07 15:52:06

标签: javascript typescript firebase google-cloud-functions

我在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

我在做什么错了?

2 个答案:

答案 0 :(得分:0)

// index.js

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

cors({ origin: true });

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

然后$ firebase deploy --only functions

答案 1 :(得分:0)

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

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

我更改为

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

成功了!