我有一个调用 eleventy.write() 或 eleventy.toJSON() 方法的 aws lambda 函数,但似乎无法使其工作。我尝试了不同的项目结构并设置了不同的路径,但它要么返回一个空数组,要么抛出以下错误
文件名.njk 的 TemplateLayoutPathResolver 目录不存在:_includes
当我从终端运行 eleventy
命令时,它构建成功。
这是我的11ty项目结构
project root folder
-- public (output of the eleventy build)
-- .eleventy.js
-- src (input for the eleventy build)
|-- _data
|-- _includes
我的 .eleventy.js 文件如下所示:
...
return {
dir:{
input: 'src',
output: 'public',
},
};
在调用 write()
的 lambda 函数项目中,我尝试设置相对于文件的输入路径,然后我尝试将 11ty 根文件夹放在 .js 旁边文件并像 let eleventy = new Eleventy("., "public")
那样实例化 eleventy,但没有用,我还尝试获取 eleventy 根项目的内容并将其放在 .我正在调用 write()
调用 .js 文件。
也试过像这样设置configPath
let eleventy = new Eleventy(".", "public", {
configPath: "./.eleventy.js",
});
但还是不行。
eleventy 编程 API ( https://www.11ty.dev/docs/programmatic/) 的文档非常薄,因此我们将不胜感激任何帮助。
最佳答案
查看上面的文件列表,在 src 中,我看到了 includes
,而不是 _includes
。你忘记下划线了吗?
关于node.js - Eleventy programmatic API - 输入路径应该是什么样的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72295351/