Почему export const helloWorld выдает ошибку при развертывании firebase, а export.helloWorld - нет? - PullRequest
0 голосов
/ 01 апреля 2020

В проекте React Native с использованием Expo я пытался развернуть следующую облачную функцию, используя export:

Примечание: я использую Javascript в index.js.

export const helloWorld = functions.https.onRequest((request, response) => {
 response.send("Hello from Firebase!");
});

Но я получил эту ошибку:

Error: Error occurred while parsing your function triggers.

/Users.../functions/index.js:5
export const helloWorld = functions.https.onRequest((request, response) => {
^^^^^^

SyntaxError: Unexpected token export
    at new Script (vm.js:80:7)
    at createScript (vm.js:274:10)
    at Object.runInThisContext (vm.js:326:10)
    at Module._compile (internal/modules/cjs/loader.js:664:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)

Затем я использовал exports.helloWorld..., и он работал нормально!

exports.helloWorld = functions.https.onRequest((request, response) => {
 response.send("Hello from Firebase!");
});

Кто-нибудь может объяснить, почему это произошло?

Спасибо

1 Ответ

1 голос
/ 01 апреля 2020

измените его на:

const helloWorld = functions.https.onRequest((request, response) => {
 response.send("Hello from Firebase!");
});

module.exports = helloWorld

прямой экспорт делает экспорт одним из экспортных. ie: ссылка на экспорт.something

Module.exports назначает экспорт непосредственно там, где упоминается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...