Strapi 框架:无法呈现我的页面

Strapi framework: can't get my page rendered

我开始使用 Strapi 框架并尝试使用 Handlebars 和路由来显示页面。我按照文档创建了一个控制器:

find: function *() {
    try {
      yield this.render('user', {
            firstname: 'John',
            lastname: 'Doe'
        });
    } catch (error) {
      this.body = error;
    }
  },

和一个路由器文件:

 {
    "routes": {
      "GET /": {
        "controller": "strap",
        "action": "find"
      }
    }
  }

它正在工作(没有错误),但我收到 404 未找到状态,而不是文档中 views/user.html 中的我的页面。 我错过了什么?

有趣...您的控制器和路线看起来不错。

确保您的配置如下所示:

{
  "views": {
    "map": {
      "html": "handlebars"
    },
    "default": "html"
  }
}

仅当您的配置中有 default 映射键时,您才不需要在控制器中指定文件扩展名。否则你需要像这样指定扩展名:

find: function *() {
  try {
    yield this.render('user.html', {
      firstname: 'John',
      lastname: 'Doe'
    });
  } catch (error) {
    this.body = error;
  }
},

在您的 HTML 文件中:

<html>
  <body>
    <p>Firstname: {{ firstname }}<br>Lastname: {{ lastname }}</p>
  </body>
</html>

哦,这可能是您的 API 路线和 public 资产之间的冲突。您可以尝试删除 ./public/index.html 文件吗?