使用Electron.js加载Nunjucks模板

时间:2018-06-11 12:27:15

标签: javascript html electron templating nunjucks

我想在我的电子应用程序中使用nunjucks渲染作为我的HTML窗口,但我无法找到方法,是否可能?根据我的看法,有两种方法可以在窗口中加载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?

非常感谢大家

1 个答案:

答案 0 :(得分:0)

您可以将HTML打包到数据URI中,并将其传递给win.loadURL:

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

使用nunjucks渲染:

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