运行 十一构建(通过 npm 运行)作为 AWS Lambda 函数

Running eleventy build (via npm run) as AWS Lambda function

我有一个 eleventy Node 项目,它从 JSON 文件中渲染 HTML。

目前,我 运行 在本地使用 npm run(运行s the eleventy CLI

这是我脑海中的工作流程:

从概念上讲,我觉得这将是一个标准的 FaaS 用例。

实际上,我无意中发现 Node.js-Lambda 运行time 总是期望调用显式函数处理程序。 Eleventy 似乎没有提供从代码 调用的标准方法(或者我还没有发现这个)。

我发现我 可以 将我的包构建到 Docker 容器中,并 运行 npm run 作为入口点。这肯定会起作用,但似乎没有必要,因为 Lambda 提供的 Node.js 运行 次 应该 能够 运行 宁我的 npm build 命令如果我把我的包放在部署工件中。

我脑子里有疙瘩吗?我忽略了什么? 会很高兴任何输入。

我不确定这是否受支持,因为我没有看到它的文档,但我查看了 Eleventy 的单元测试并看到了很多这样的例子 (https://github.com/11ty/eleventy/tree/master/test)。我尝试了以下并且它有效。请注意,init 和 write 都是异步的,我没有正确等待它们,我只是想得到一个简单的例子:

const Eleventy = require('@11ty/eleventy');

const elev = new Eleventy('./input', './output');

elev.init();
elev.write();

console.log('done');