在添加了所有必要的头文件从Crow,我终于设法运行,并获得Hello World
输出在我的localhost端口.当我试图使用mustache
命令呈现一个网页与一个简单的HTML文件,程序编译,但我只得到一个空白页.请帮助.
- 主. cpp**
#include <iostream>
#include "crow.h"
int main(int argc, const char * argv[]) {
crow::SimpleApp app;
crow::mustache::set_base(".");
CROW_ROUTE(app, "/")([](){
crow::mustache::context ctx;
auto main_page = crow::mustache::load("site.html");
return main_page.render();
});
app.port(18080)
// .multithreaded()
.run();
return 0;
}
- 站点. html**
<!DOCTYPE html>
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
3条答案
按热度按时间7qhs6swi1#
我使用Crow的经验是使用Docker,我在加载静态文件时也遇到了同样的问题。要加载html,不能使用相对路径,而必须使用绝对路径。例如,我的main.cpp文件在名为“server”的文件夹中,index.html文件在名为“static”的文件夹中。我最初说
这对我不起作用,但你可以继续尝试。相反,我使用了它存储在我的Docker容器中的确切目录。“usr/src/web/mysite/static/index.html”
dldeef672#
实际上,你可以简单地创建一个名为“template”的文件夹,把你所有的HTML文件放在那里,然后按名称加载它们。https://crowcpp.org/master/getting_started/a_simple_webpage/
bfhwhh0e3#
另一种解决方案是使用另一个服务器(如Node)呈现静态文件,并使用Crow在来自C++服务器的响应中添加CORS标头。