语法错误:无法在模块外部使用导入语句 Firebase Functions。

17

我遇到了Firebase函数的问题。我收到了以下错误:

SyntaxError: Cannot use import statement outside a module

以下是我的代码:

import * as functions from 'firebase-functions';
import * as sgMail from '@sendgrid/mail';

sgMail.setApiKey(key);

export const weeklyReminder = functions.pubsub.schedule('every Wednesday 21:00').onRun(async context =>{

    const msg = {
        to: 'email@gmail.com',
        ...
    };
    return sgMail.send(msg);

}); 

你如何将内容导入Firebase函数?

2个回答

16

你是在使用 TypeScript 还是纯 JavaScript?使用普通的 JavaScript,你会像这样使用 require:

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

另外,将函数更改为与以下内容相同:

exports.weeklyReminder = functions.pubsub.schedule('every Thursday 21:00').onRun(

1
如果你以这种方式导入它,你还能使用"export const weeklyReminder"吗?如果不能,那么你是否导出该函数? - Chris Evans
1
同时使用原生JavaScript。 - Chris Evans
1
你可以使用以下代码来设置每周提醒功能:exports.weeklyReminder = functions.pubsub.schedule('每周三 21:00').onRun(async context =>{ - Jason Byrne
@JasonByrne VS Code建议使用ES模块,因此最终采用了import { region } from 'firebase-functions';。我们应该忽略这个建议吗? - Bitwise DEVS

-2

对我来说,我需要在我的实例周围加上花括号,就像这样:

const { functions } = require('firebase-functions');

否则我会得到
TypeError: functions is not a function

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接