【发布时间】:2020-07-01 04:05:02
【问题描述】:
运行npx eleventy --serve 会将我的所有模板文件写入输出目录,index.njk 除外。所以localhost:8080 抛出Cannot GET / 错误,但localhost:8080/about/ 显示我的about.md 文件,以此类推所有其他文件。处理 .njk 文件不会有问题,因为其他 .njk 文件在其各自的永久链接中显示良好。
这是一个新问题,据我所知,我唯一改变的是我在文件夹中创建了一个 git 存储库。运行调试不显示任何错误。它确实表明 11ty 正在找到 index.njk,并将其添加到地图中......
Eleventy:TemplateWriter Found: [ './blog/index.njk' ] +0ms
Eleventy:Template getMappedDate: using file created time for './blog/index.html' of 2020-03-08T22:48:56.628Z (from 1583707736628.0034) +1ms
Eleventy:TemplateWriter ./blog/index.html added to map. +2ms
...但它只是没有出现在写入的文件列表中。我尝试添加pathPrefix,移动.eleventy.js 并更改输入目录,将index.njk 更改为.md 和.html,并三重检查我的.eleventyignore 和.gitignore,但我'我被难住了。
我的文件结构是这样的。
├── .git
├── _site
├── blog
| ├── _includes
| ├── _data
| ├── assets
| ├── _posts
| | ├── 2016-08-08-i-published-a-pattern.md
| | ├── 2016-08-20-pyukumuku.md
| | └── style-guide.md
| ├── about.md
| ├── index.njk
| ├── tag.njk
| ├── tagslist.njk
└── .eleventy.js
我的.eleventy.js 的相关部分看起来像这样。
eleventyConfig.addPassthroughCopy("assets");
return {
passthroughFileCopy: true,
markdownTemplateEngine: "njk",
templateFormats: ["html", "njk", "md"],
dir: {
input: "blog",
output: "_site",
include: "_includes"
}
}
【问题讨论】:
-
更新:将
index.njk重命名为其他名称并创建一个具有相同内容的全新index.njk会在输出目录中创建一个index.html文件,但它是空白的。尝试将index.njk的内容移动到blog.njk,并使index.njk只是带有blog链接的文本。现在blog.njk是不写入输出的文件。 OGindex.njk只是一个带有前端分页的for循环以显示博客文章,所以看起来该代码可能有问题? -
您是否在控制台上看到任何错误消息?
-
不,无论是正常还是调试都没有错误消息。
-
当我在索引页面中使用 frontmatter 分页并且尚未创建任何帖子时,我遇到了同样的问题。我仍在寻找解决方法,除了有一个示例帖子来避免这个问题......
-
你能发一下你的
index.njkfrontmatter吗?有类似data: collections.post的东西吗?
标签: node.js static-site eleventy