Загрузка шаблона Nunjucks с помощью Electron.js

Я хотел бы использовать рендеринг nunjucks в качестве моего HTML для окна в моем электронном приложении, но я не могу найти способ, возможно ли это? Из того, что я видел, есть 2 способа загрузки HTML в окно:

  // Load a remote URL
  win.loadURL('https://github.com')

  // Or load a local HTML file
  win.loadURL(`file://${__dirname}/app/index.html`)

И когда я визуализирую свой шаблон nunjucks, у меня есть строка, хранящаяся в переменной javascript:

render = nunjucks.render('./template/Template.html', data);

Как я могу использовать эту строку в качестве html для своего окна?

Большое спасибо всем


person Chsir17    schedule 11.06.2018    source источник


Ответы (1)


Вы можете упаковать свой HTML в URI данных и передать его в win.loadURL:

const html = "<html><body><h1>Hello, world!</h1></body></html>";
win.loadURL("data:text/html;charset=utf-8," + encodeURI(html));

С вашим рендером нунджаков:

const render = nunjucks.render('./template/Template.html', data);
win.loadURL("data:text/html;charset=utf-8," + encodeURI(render));
person p10ben    schedule 08.08.2020