HTML-страница Crow C++ framework пуста после компиляции в Xcode

После добавления всех необходимых заголовочных файлов из Crow мне, наконец, удалось запустить и получить вывод Hello World на моем локальном порту. Когда я пытаюсь отобразить веб-страницу с помощью команды mustache с помощью простого HTML-файла, программа компилируется, но я получаю только пустую страницу. Пожалуйста помоги.

main.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>
github.com/ipkn/crow/issues/74
Sanjay Kumar 26.12.2019 12:25
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
1
626
2

Ответы 2

Альтернативное решение — отображать статические файлы с помощью другого сервера, например Node, и добавлять заголовки CORS в ответы от сервера C++ с помощью Crow.

Мой опыт работы с Crow заключался в использовании Docker, и у меня была такая же проблема с загрузкой статических файлов. Чтобы загрузить html, вы не можете использовать относительный путь, вместо этого необходимо использовать абсолютный путь. Например, у меня был файл main.cpp в папке с именем «сервер», а файл index.html в папке с именем «статический». я изначально сказал

auto main_page = crow::mustache::load("../static/index.html"); // "../" means go to parent folder

Это не сработало для меня, но вы можете попробовать. Вместо этого я использовал точный каталог, который он хранил в моем контейнере Docker. "usr/src/web/mysite/static/index.html"

вы также можете попробовать команду chdir(), чтобы изменить каталог именно там, где вам нужно.

NeonFire 19.05.2021 01:47

Другие вопросы по теме