electronjs 是什麼?
可以用javascript寫,windows / mac / linux 介面程式的開發框架。
參看:
https://electronjs.org/
https://electronjs.org/docs
快速開始
必備的條件: nodejs的安裝 git
git clone https://github.com/electron/e…
cd electron-quick-start
npm install
npm start
參看:
https://electronjs.org/docs/t…
https://electronjs.org/docs/t…
專案結構
如何釋出專案
下載相應的release軟體包: https://github.com/electron/e…
解壓到相應目錄
將專案放入解壓的目錄
windows下直接雙擊: electron.exe
參看 https://electronjs.org/docs/t…
專案如何打包(最簡單的方式)
安裝 asar
npm install -g asar
使用 asar 打包
asar pack your-app app.asar
將 app.asar 替換上一步的目錄
整合Jquery
安裝jquery
npm install –save-dev jquery
index.html 加入相容性程式碼
<script type="text/javascript">window.$ = window.jQuery = require(`jquery`);</script>
html 中加入: <button id="bnt_test1" onclick="bnt_test1()" >test1 button</button>
javascript中加入:
$(function(){
$("#bnt_test1").click(function(){
alert("test1")
});
});
主程式與渲染程式通訊
渲染器程式
const ipc = require(`electron`).ipcRenderer const asyncMsgBtn =
document.getElementById(`async-msg`) $(“#bnt_test1”).click(function(){
ipc.send(`asynchronous-message`, `ping`) })
主程式
const ipc = require(`electron`).ipcMain ipc.on(`asynchronous-message`,
function (event, arg) { event.sender.send(`asynchronous-reply`,
`pong`) //或者啟動對話方塊等 })
參看:
https://segmentfault.com/a/11…
https://segmentfault.com/a/11…