gpt4 book ai didi

node.js - Google Cloud Functions 包括私有(private)图书馆

转载 作者:搜寻专家 更新时间:2023-10-31 22:20:23 24 4
gpt4 key购买 nike

我想在 Node 中编写一个自定义库,我想将其包含在我的 Cloud Functions 中。由于这是共享代码,我希望能够在我的所有 Cloud Functions 中使用它。

编写共享代码库并让多个 Cloud Functions 访问该库的最佳方式是什么。

例如,假设我有两个 Cloud Functions,functionA 和 functionB。

我有一个名为“common.js”的 Node javascript 文件,它有一个我想公开给 functionA 和 functionB 的 javascript 函数。

exports.common = {
log: function(message) {
console.log('COMMON: ' + message);
}
};

所以在 functionA 中,我想请求这个文件并调用“common.log('test');”。

我认为这是最基本的问题,但老实说,我在任何地方都找不到答案。

任何帮助将不胜感激。这实际上是唯一阻止我使用 GCF 作为现在和 future 开发代码的方式的因素!

最佳答案

如果您使用 gcloud命令行工具来部署您的功能,它将上传所有1 本地目录中的文件,因此任何正常的 Node.js 方法执行 include/require 都应该有效。

在 Node.js 中,编写 require('./lib/common') 将在 lib 中包含 common.js 文件子目录。由于您的文件导出了一个名为 common 的对象,因此您可以直接从 require 返回的对象中引用它。见下文。

文件布局

./
../
index.js
lib/common.js

索引.js

// common.js exports a 'common' object, so reference that directly.
var common = require('./lib/common').common;

exports.helloWorld = function helloWorld(req, res) {
common.log('An HTTP request has been made!');
res.status(200);
}

部署

$ gcloud functions deploy helloWorld --trigger-http

注意

1 当前 gcloud 不会上传 npm_modules/ 目录,除非你指定 --include-ignored-files(参见 gcloud docs)

关于node.js - Google Cloud Functions 包括私有(private)图书馆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42550163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com