我在我的Metalsmith网站上使用下划线的模板引擎,但在访问footer partial时遇到了一些问题。我收到一条错误消息:
ReferenceError: footer is not defined我该怎么称呼它呢?我做错了什么?
谢谢。
下面是我的Metalsmith构建文件的模板部分:
...
.use(layouts({
engine: 'underscore',
directory: 'templates',
partials: 'templates/partials'
}))下面是我的文件夹结构:
posts/
src/
templates/
- base.tpl.html
- partials/
-- footer.tpl.html下面是一个帖子示例:
---
title: My First Post
date: 2012-08-20
layout: base.tpl.html
---
# This is my title
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur sed magna vel eros malesuada fringilla.这是我的html页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><%- sitename %></title>
</head>
<body>
<h1>Hello, world!</h1>
<%= contents %>
<% footer %> <---- THIS IS UNDEFINED
</body>
</html>发布于 2017-08-04 08:39:21
我猜您需要在构建文件中使用选项partialExtension:
...
.use(layouts({
engine: 'underscore',
directory: 'templates',
partials: 'templates/partials',
partialExtension: '.tpl.html'
}))https://www.npmjs.com/package/metalsmith-layouts#partialextension
…因为当插件处理<% footer %>时,它实际上只是搜索名为footer的文件,而不是footer.tpl.html
(未测试)
https://stackoverflow.com/questions/43449673
复制相似问题