![](/img/trans.png)
[英]I cannot deploy firebase cloud functions: Failed to load function definition from source, No "exports" main defined in D:\
[英]Firebase Cloud functions - Failed to load function definition from source: Restful Endpoints - Failed to add the endpoint defined
我在節點 16.14 中使用 firebase 雲函數和 typescript。
我的 index.ts 看起來像這樣:
import { FunctionParser } from "firebase-backend";
exports = new FunctionParser({rootPath: __dirname, exports,
verbose:true}).exports;
這是 addEvent.endpoint.ts:
import { Request, Response } from "express";
import { Endpoint, RequestType } from "firebase-backend";
// import * as functions from "firebase-functions";
const fs = require('firebase-admin');
const serviceAccount = require('./key.json');
fs.initializeApp({
credential: fs.credential.cert(serviceAccount)
});
const db = fs.firestore();
export default new Endpoint(
"addEvent",
RequestType.POST,
(request: Request, response: Response) => {
const message = request.body["message"];
db.collection("events").doc("adkakjagjh").set("message", message);
return response.status(201).send({
message: message
});
}
)
我有以下文件結構如下。
我的雲功能最近才工作,但我不知道的一些更改使它們出錯,僅針對此 1 個端點“addEvent.endpoint.ts”出現以下錯誤:錯誤:無法從源加載 function 定義:無法生成來自 function 來源的清單:錯誤:Restful 端點 - 無法將 C 中定義的端點添加:/Development/EventFeeder/Backend/Firebase/functions/lib/users/restful/addEvent.endpoint.js 到用戶 Api。
我該如何解決這個問題? 我不確定我需要嘗試什么,因為錯誤消息並沒有具體說明問題的根本原因。 我沒有找到關於這個特定問題的任何帖子。
我嘗試使用“npm run build && firebase emulators:start --only functions”和“firebase emulators:start”運行函數
當我刪除 addEvent.endpoint.ts 文件時,問題消失了
我遇到了同樣的問題,我發現你不應該在每個端點初始化應用程序 (initializeApp()),只需將它寫入 index.ts 一次,一切都會按預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.