通过 Typescript 实现 Firebase Cloud Functions - index.js 不存在

问题描述 投票:0回答:2

我创建了一个具有 Angular/Fire 和云功能的存储库。 不,我想运行函数模拟器,但它告诉我,index.js 不存在。 但是当我使用 Typescript 时它应该如何存在? 在functions/src/中我有一个index.ts,它应该使用它。 但是当我在 package.json 中设置 "main":"src/index.ts" 时出现此错误:

无法从源加载函数定义:FirebaseError:无法从源加载函数定义:无法从函数源生成清单:SyntaxError:无法在模块外部使用 import 语句

我该如何解决这个问题?

typescript firebase function google-cloud-functions package.json
2个回答
1
投票

只需运行

npm run build
命令即可生成index.js文件。它将位于functions/lib/文件夹中。

错误消息很清楚,您在错误的位置使用了 import 语句。

正确的导入位置是:

import * as admin from "firebase-admin";
admin.initializeApp();

1
投票

但是当我在 package.json 中设置 "main":"src/index.ts" 时

坏主意。 Typescript 是一种编译时语言,它不能按原样执行。需要先转换Javascript。

在启动模拟器之前,您是否使用

npm run build
构建了包?它将为您创建index.js。

我认为他们现在已将其添加到文档中:https://firebase.google.com/docs/functions/typescript?gen=2nd#using_an_existing_typescript_project

© www.soinside.com 2019 - 2024. All rights reserved.