1

我已经设置了 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 %> &mdash; My Website</title>
        </head>
        <body>
               <%- yield %>
        </body>
</html>

布局和页面内容正确加载,并<%= title %>替换为_harp.json. 但是,当 中存在条目时_data.json,不会进行替换,而是继续用 中的值替换_harp.json

我错过了这个显而易见的事情吗?先感谢您。

4

2 回答 2

1

Harp 似乎需要重新启动,尽管 Harp 的文档中没有提到这一点。每次修改似乎也需要重新启动_data.json

于 2014-07-10T01:32:54.950 回答
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,这就是为什么我没有意识到它被设置为默认的生产环境。

要使用该图像进行开发,您必须输入:

$ docker [...] --env NODE_ENV=development [...] dockerimages/harp

于 2016-06-16T03:09:14.303 回答