我已经设置了Harp,它正在运行并提供内容,但_data.json
中存储的任何值似乎都没有效果。
目录结构:
/
|-- _harp.json
|-- _data.json
|-- _layout.ejs
|-- index.md
|-- getting-started.md
文件_harp.json
包含:
{
"globals": {
"title": "Home"
}
}
_data.json
包含:
{
"getting-started": {
"title": "Getting Started"
}
}
_layout.ejs
包含:
<!DOCTYPE html>
<html>
<head>
<title><%= title %> — My Website</title>
</head>
<body>
<%- yield %>
</body>
</html>
正确加载布局和页面内容,<%= title %>
替换为_harp.json
中给出的值。但是,当_data.json
中存在条目时,不会进行替换,并且会继续使用_harp.json
中的值替换。
我是否错过了明显的这个?提前谢谢。
答案 0 :(得分:1)
似乎Harp需要重启,尽管在Harp的文档中没有提到。每次修改_data.json
时,它似乎也需要重新启动。
答案 1 :(得分:0)
我遇到了同样的问题,刚刚找到了解决方案。
在我的案例中,竖琴服务器是使用NODE_ENV=production
启动的,具有正好这种副作用(请参阅页面末尾的https://harpjs.com/docs/environment/server)。
明确设置NODE_ENV=development
解决了问题。
https://harpjs.com/docs/development/environment
NODE_ENV=development
是默认设置,您需要为生产目的明确设置NODE_ENV=production
。
在我的情况下,我使用已经构建的docker容器(dockerimages/harp
),默认情况下使用NODE_ENV=production
,这就是为什么我没有意识到它是默认设置为生产。< / p>
要使用该图像进行开发,您必须输入:
$ docker [...] --env NODE_ENV=development [...] dockerimages/harp