簡單的問題在這裏,但我沒有找到有用的資源。 Electron中可以模板化嗎?使用Jade或Handlebars顯示動態模板?我知道有.loadURL()需要一個靜態html文件。電子模板?
動態可能嗎?
謝謝。
簡單的問題在這裏,但我沒有找到有用的資源。 Electron中可以模板化嗎?使用Jade或Handlebars顯示動態模板?我知道有.loadURL()需要一個靜態html文件。電子模板?
動態可能嗎?
謝謝。
你可以給電子帕格一個機會。 https://github.com/yan-foto/electron-pug
通過在Electron主進程中運行本地服務器,可以使用Jade或Handlebars進行動態模板化。但是我不會推薦這個,因爲它有點落後。 Electron主要是一個前端框架,而運行本地服務器對於某些事情來說是有益的,但模板並不是其中之一。
大多數人使用像Angular或React這樣的前端JS框架。
您可以通過protocol.registerBufferProtocol註冊新的緩衝區協議。
main.js
var electron = require('electron');
var app = electron.app;
var protocol = electron.protocol;
var BrowserWindow = electron.BrowserWindow;
var pug = require('pug');
var window;
app.on('ready', function() {
// Define the `pug` scheme
protocol.registerBufferProtocol('pug', function (request, callback) {
var url = path.normalize(request.url.substr(7));
var content = pug.renderFile(url);
callback({
mimeType: 'text/html',
data: new Buffer(content)
});
});
window = new BrowserWindow({width: 600, height: 600});
// Load your file using the `pug` protocol
window.loadURL(url.format({
pathname: path.join(__dirname, 'index.pug'),
protocol: 'pug:',
slashes: true
}));
});
index.pug
html
head
title My title
body
h1 Hello world!
可能爲時已晚在這裏補充,但認爲它可能是值得的。我添加了一個包來處理從任何渲染器添加視圖並處理資產路徑。到目前爲止,我剛剛添加了ejs渲染器,但是計劃添加帕格和哈姆作爲其他默認渲染器,但很容易擴展和添加自己的渲染器。該軟件包被稱爲電子查看渲染器https://www.npmjs.com/package/electron-view-renderer
希望這可以幫助像它這樣的人做我們的團隊。它處於起步階段,所以所有的意見和貢獻值得歡迎
把手非常適合前端環境。 – Marty
這是真的......更不用說,例如。 Angular擁有自己的模板功能,並且是爲MVC模式設計的,因此它不需要像另一個模板引擎那樣的額外覆蓋。 對於Node.js是的,但對於電子編號。 – devarni