electronjs 入門_2019年2月14日

huangyipeng發表於2019-02-16

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…

相關文章