NodeJS Google云功能:什么时候使用exports对象?index.js扮演什么角色?

k5ifujac  于 2023-02-08  发布在  Node.js
关注(0)|答案(1)|浏览(152)

在谷歌的代码实验室里,它说:
将此函数添加到特殊的导出对象是Node使函数可在当前文件之外访问的方法,并且是Cloud Functions所必需的。
这到底是什么意思?什么时候需要向exports对象添加函数?
我不太清楚index.js扮演什么角色。我需要把所有函数都放在那里吗?如果我有3个不同的主题,比如PostsMessagesProfiles。每个主题都有多个云函数和许多不同的简单帮助函数(比如操作字符串)。
你真的应该把所有这些函数放在同一个文件中吗?
我想我不是很明白index.js是做什么的。

twh00eeo

twh00eeo1#

默认情况下,Firebase CLI将尝试部署从index.js导出的任何云函数。这并不意味着您必须在同一个文件中编写整个代码。您可以创建自己的任何目录结构,但只需确保从index.js导出云函数。例如:

// index.js
const processNewUser = require('./some/other/file.js');

exports.addWelcomeMessages = functions.auth.user().onCreate(async (user) => {
  await processNewUser();
  return null;
});

这里,函数processNewUser()在别处定义,但在云函数内调用。
也可以定义云函数本身,例如:
x一个一个一个一个x一个一个二个x
如果不添加exports.addWelcomeMessages;(即从index.js导出函数),则CLI不会部署它。
还可以检查organize multiple functions以了解更多可能的情况。

相关问题