利用 electron 框架構(gòu)建桌面級應(yīng)用【灰鴻】

前言

electron是一個可以利用 JavaScript HTML CSS 等技術(shù)構(gòu)建原生程序的框架陨仅,也就是說气堕,利用electron可以讓我們使用web技術(shù)來開發(fā)桌面應(yīng)用县钥。electron的GUI核心來自于Chrome颤练,使用V8(JavaScript引擎)她倘,本身是基于C++編寫的脯厨。市面上很多的程序铅祸,都是用electron開發(fā)的,例如:vscode atom 等合武。

electron一個很大的特點(diǎn)就是跨平臺临梗。electron兼容Windows,Linux以及Mac平臺稼跳,利用electron開發(fā)的程序可以在這幾個平臺上運(yùn)行盟庞。electron基于chromium,nodejs汤善,這就讓你可以用HTML CSS JavaScript構(gòu)建應(yīng)用什猖。并且還是開源的,擁有活躍的社區(qū)來維護(hù)項(xiàng)目红淡。

講了這么多卸伞,現(xiàn)在就讓我們來構(gòu)建第一個屬于自己的electron程序吧!

準(zhǔn)備

使用electron前锉屈,你需要安裝nodejs荤傲。在終端輸入以下命令,來檢查nodejs是否安裝 :

node -v

npm -v

如果終端返回了相對應(yīng)的nodejs與npm的版本信息颈渊,那么恭喜你遂黍,你可以進(jìn)行下一步了;如果沒有返回俊嗽,那么你則需要安裝nodejs與npm雾家,然后重新輸入命令檢查,再進(jìn)行下一步绍豁。

安裝Electron

你可以創(chuàng)建一個名為"electron-app"的文件夾芯咧,然后打開它,并在這個文件夾當(dāng)中執(zhí)行終端。輸入以下命令:

npm init -y

npm i --save-dev electron

Electron的基本目錄結(jié)構(gòu)

electron-app/

├── package.json

├── main.js

└── index.html

我們可以通過上面的結(jié)構(gòu)敬飒,分別將 package.json main.js index.html 創(chuàng)建出來邪铲。

創(chuàng)建main.js

在electron-app目錄下創(chuàng)建 main.js 文件(main.js是electron的主腳本文件,它指定了運(yùn)行主進(jìn)程electron程序的入口无拗,在electron程序中带到,只能有一個 main.js 文件),你可以在 main.js 中輸入以下代碼:

constelectron=require('electron')//導(dǎo)入模塊

constBrowserWindow=electron.BrowserWindow

constMenu=electron.Menu

constapp=electron.app

functioncreateWindow() {

constwin=newBrowserWindow({

width:414,//定義窗口行高

height:700,

webPreferences: {

nodeIntegration:true

?? }

? })

win.loadFile('index.html')//將index.html導(dǎo)入窗口

}

app.whenReady().then(createWindow)//創(chuàng)建窗口

//偵聽器

app.on('window-all-closed', ()=>{

if(process.platform!=='darwin') {

app.quit()

? }

})

app.on('activate', ()=>{

if(BrowserWindow.getAllWindows().length===0) {

createWindow()

? }

})

創(chuàng)建index.html

我們在 main.js 文件當(dāng)中英染,將 index.html 文件加載到了窗口當(dāng)中揽惹,那么index.html文件就是窗口的內(nèi)容了

index.html 文件可以這樣寫:

<!DOCTYPE html>

<html>

<head>

<metacharset="UTF-8">

<title>Hello World!</title>

<metahttp-equiv="Content-Security-Policy"content="script-src 'self' 'unsafe-inline';"/>

</head>

<bodystyle="background: white;">

<h1>Hello World!</h1>

<p>

? ? ?? 這是我的第一個electron程序!

</p>

</body>

</html>

修改package.json

編輯 package.json 四康,改為下面內(nèi)容:

{

"name":"electron-app",

"version":"0.1.0",

"author":"name",

"description":"Electron app",

"main":"main.js",

"scripts": {

"start":"electron ."

?? }

}

運(yùn)行程序

就這樣搪搏,你的第一個electron程序已經(jīng)編寫好了,輸入下面的命令來運(yùn)行它吧:

npm start

運(yùn)行成功:

打包程序

1.導(dǎo)入 Electron Forge

在終端輸入下面的命令:

npx @electron-forge/cli import

2.創(chuàng)建分發(fā)版本

在終端輸入以下命令:

npm run make

我們的第一個electron程序就被打包在out目錄下了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末闪金,一起剝皮案震驚了整個濱河市慕嚷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌毕泌,老刑警劉巖喝检,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異撼泛,居然都是意外死亡挠说,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門愿题,熙熙樓的掌柜王于貴愁眉苦臉地迎上來损俭,“玉大人,你說我怎么就攤上這事潘酗「吮” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵仔夺,是天一觀的道長琐脏。 經(jīng)常有香客問我,道長缸兔,這世上最難降的妖魔是什么日裙? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮惰蜜,結(jié)果婚禮上昂拂,老公的妹妹穿的比我還像新娘。我一直安慰自己抛猖,他們只是感情好格侯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布鼻听。 她就那樣靜靜地躺著,像睡著了一般联四。 火紅的嫁衣襯著肌膚如雪撑碴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天碎连,我揣著相機(jī)與錄音,去河邊找鬼驮履。 笑死鱼辙,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的玫镐。 我是一名探鬼主播倒戏,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼恐似!你這毒婦竟也來了杜跷?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤矫夷,失蹤者是張志新(化名)和其女友劉穎葛闷,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體双藕,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡淑趾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了忧陪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扣泊。...
    茶點(diǎn)故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖嘶摊,靈堂內(nèi)的尸體忽然破棺而出延蟹,到底是詐尸還是另有隱情,我是刑警寧澤叶堆,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布阱飘,位于F島的核電站,受9級特大地震影響虱颗,放射性物質(zhì)發(fā)生泄漏俯萌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一上枕、第九天 我趴在偏房一處隱蔽的房頂上張望咐熙。 院中可真熱鬧,春花似錦辨萍、人聲如沸棋恼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽爪飘。三九已至义起,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間师崎,已是汗流浹背默终。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留犁罩,地道東北人齐蔽。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像床估,于是被迫代替她去往敵國和親含滴。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容