手把手教Electron+vue的使用

.現如今前端框架數不勝數,尤其是angular、vue吸引一大批前端開發者,在這個高新技術快速崛起的時代,自然少不了各種框架的結合使用。接下來是介紹electron+vue的結合使用。

2.Electron是什么??

? ? ?對于我來說Electron相當于一個瀏覽器的外殼,可以把網頁程序嵌入到殼里面,可以運行在桌面上的一個程序,可以把網頁打包成一個在桌面運行的程序,通俗來說就是軟件,比如像QQ、優酷、網易音樂等等。功能的強大超出你的想象,可以構建跨平臺桌面程序,本身支持node.js,可以使用node.js的一些模塊。想要深入了解可以查看官網的詳細介紹。

? ? Electron官網:https://electronjs.org/??

3.Electron+vue的聯合使用

? ? 有vue基礎跟nodejs基礎的開發人員使用electron那就更順風順水了,沒有node基礎的,有vue或者angular基礎的也可以學習,學起來可能會吃力些,不過也沒關系,很多東西有大神已經封裝好了,直接使用就行。

? ? 接下來教你手把手搭建一個electron+vue的開發環境。

? ? 第一步:安裝nodejs

? ??windows下的NodeJS安裝是比較方便的(v0.6.0版本之后,支持windows native),只需要登陸官網(http://nodejs.org/),便可以看到下載頁面。?

?

2、下載完成后雙擊運行進行安裝,安裝過程基本直接“NEXT”就可以了(全部采用默認方式安裝)。(windows的安裝msi文件在過程中會直接添加path的系統變量,變量值是你的安裝路徑,例如“C:\Program Files\nodejs”)。

3、安裝完成后可以使用cmd(win+r然后輸入cmd進入 )測試下是否安裝成功。方法:在cmd下輸入node -v,出現下圖版本提示就是完成了NodeJS的安裝。?

?

?

4、npm的安裝。由于新版的NodeJS已經集成了npm,所以之前npm也一并安裝好了。同樣可以使用cmd命令行輸入”npm -v”來測試是否成功安裝。如下圖,出現版本提示便OK了。?

?

5、常規NodeJS的搭建到現在為止已經完成了,急不及待的話你可以在”cmd“輸入”node“進入node開發模式下,輸入你的NodeJS第一句:”hello world“ - 輸入:console.log(‘hello world’)。

?

?第二步:搭建vue開發環境

? ? ? 1.安裝淘寶npm鏡像

? ? ? ? ? ? ?由于在國內使用npm是非常慢的,所以在這里我們推薦使用淘寶npm鏡像,使用

? ? ? ?淘寶的cnpm命令管理工具可以代替默認的npm管理工具:$ npm install?-g cnpm?--registry=https://registry.npm.taobao.org;

? ? ? ?淘寶鏡像安裝成功之后,我們就可以全局vue-cli腳手架,輸入命令:cnpm install?--global?vue-cli ?回車;驗證是否安裝成功,在命令輸入vue,出來vue的信息,及說明安裝成功;

? ? ?

第三步:搭建vue項目

?使用命令創建項目,一步步選擇之后開始等等項目創建完成

$  vue init webpack demo

完成后如下:

成功之后修改啟動項,打開demo>config>index.js,具體修改如下:

?

? ? 執行命令,出現如下效果說明項目已經運行成功:

$  npm run dev

  

執行生成命令:

$ npm run build

?注意: 生成的時候一定要修改index.js 中的生成路徑,否則后面程序運行打包頁面會顯示空白,找不到路徑

?

出現如下效果

項目下回多出一個dist的文件夾,里面就你打包好的東西

接下來一切操作都在dist文件夾目錄下。

第四步:安裝Electron

執行命令:

$ npm install electron

 安裝成功后執行:electron -v 查看一下是否安裝成功

第五步:創建主程序的入口(main.js),及相關配置 package.json

在dist文件夾內創建main.js文件及package.json 文件

文件內容如下:

main.js

const {app, BrowserWindow} =require('electron');//引入electron
let win;
let windowConfig = {width:800,height:600
};//窗口配置程序運行窗口的大小
function createWindow(){win = new BrowserWindow(windowConfig);//創建一個窗口win.loadURL(`file://${__dirname}/index.html`);//在窗口內要展示的內容index.html 就是打包生成的index.htmlwin.webContents.openDevTools();  //開啟調試工具win.on('close',() => {//回收BrowserWindow對象win = null;});win.on('resize',() => {win.reload();})
}
app.on('ready',createWindow);
app.on('window-all-closed',() => {app.quit();
});
app.on('activate',() => {if(win == null){createWindow();}
});

 以上是最基本的代碼,更復雜的可以自行設計,也可以看官方文檔

package.json

{"name": "demo","productName": "項目名稱","author": "作者","version": "1.0.4",//版本號"main": "main.js",//主文件入口"description": "項目描述","scripts": {"pack": "electron-builder --dir","dist": "electron-builder","postinstall": "electron-builder install-app-deps"},"build": {"electronVersion": "1.8.4","win": {"requestedExecutionLevel": "highestAvailable","target": [{"target": "nsis","arch": ["x64"]}]},"appId": "demo",//程序id"artifactName": "demo-${version}-${arch}.${ext}","nsis": {"artifactName": "demo-${version}-${arch}.${ext}"},"extraResources": [{"from": "./static/xxxx/",//需要打包的靜態資源"to": "app-server",//靜態資源存放路徑"filter": ["**/*"//打包靜態資源文件夾內的所有文件  如果沒有靜態資源要打包進去,extraResources 這段代碼去掉]}],"publish": [{"provider": "generic","url": "http://xxxxx/download/"//自動更新的安裝包地址,初步使用publish這段代碼不需要}]},"dependencies": {"core-js": "^2.4.1","electron-packager": "^12.1.0",//不打包成exe程序可以去掉"electron-updater": "^2.22.1",//不打包成exe程序可以去掉}
}

 package.json更多配置可查看官方文檔:https://www.electron.build/configuration/configuration

?

?現在萬事俱備只欠東風,

執行命令: electron .

?

成功后效果如下:

出現如上效果說明你已經成功了。

第五步:打包成軟件包

執行命令

?

$ npm install electron-builder$ npm install electron-package

?

執行打包命令:

electron-bulider

以上就是打包成功的效果,demo-1.0.4.exe 就是一個軟件包,可以直接安裝到系統上,不同的操作系統可以打包成不同的安裝包。

?

vue有一個集成的electron的項目

electron-vue ,

現成項目已經發布到githup上

githup地址:https://github.com/2577662935/electron-vue.git

文檔訪問地址:https://github.com/2577662935/electron-vue/tree/master/my-project

?

?

?

?

? ? 如果調試一個程序讓你很苦惱,千萬不要放棄,成功永遠在拐角之后,除非你走到拐角,否則你永遠不知道你離他多遠,所以,請記住,堅持不懈,直到成功。

轉載于:https://www.cnblogs.com/jiangxifanzhouyudu/p/9517651.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/397135.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/397135.shtml
英文地址,請注明出處:http://en.pswp.cn/news/397135.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

shell循環和分支

循環和分支對代碼塊的操作是構造組織shell腳本的關鍵. 循環和分支結構為腳本編程提供了操作代碼塊的工具.10.1. Loops循環就是重復一些命令的代碼塊,如果條件不滿足就退出循環.for loopsfor arg in [list]這是一個基本的循環結構.它與C的for結構有很大不同.forarg in [list]do …

mysql主從_MySQL主從原理及配置詳解

MySQL主從配置及原理,供大家參考,具體內容如下一、環境選擇:1.Centos 6.52.MySQL 5.7二、什么是MySQL主從復制MySQL主從復制是其最重要的功能之一。主從復制是指一臺服務器充當主數據庫服務器,另一臺或多臺服務器充當從數據庫服務…

引導修復 不是活動的_河南省視頻數據修復中心

河南省視頻數據修復中心 lk6afds河南省視頻數據修復中心 文件預覽我找到了我要恢復文件,可是,這個文件能能正確恢復呢。沒有用的文件不可以刪掉嗎。我們先來看看盤文件夾都是什么吧。(以下僅限于~系統)一般來說,剛剛安裝的電腦系統盤主要包含…

企業日志分析 五大問題需重點注意

資訊 | 安全 | 論壇 | 下載 | 讀書 | 程序開發 | 數據庫 | 系統 | 網絡 | 電子書 | 微信學院 | 站長學院 | 源碼 | QQ | 專欄 | 考試 | 系統安全| 網站安全| 企業安全| 網絡安全| 工具軟件| 殺毒防毒| 加密解密|首頁 > 安全 > 企業安全 > 正文企業安全…

sqlite換成mysql_從SQLITE的數據轉到MYSQL

接同事需求,要求從SQLITE的數據轉到MYSQL,這東西以前也沒接觸過。這里搜搜,那里試試,下面把過程列一下。主要過程分三步:1,把SQLITE表結構導出來,作一定的格式調整2,把SQLITE數據導出…

python學習筆記(一):python入門

上周六終于開始接觸心心念念的python了,本人學習語言算是零基礎,java語法比較復雜,所以選擇了一個語法相對還是比較簡單,而且現在使用也是越來越廣泛的python進行了學習。下面就言歸正傳吧 在學習python之前先來了解下現今比較流行…

MySQL查詢優化之explain的深入解析

在分析查詢性能時,考慮EXPLAIN關鍵字同樣很管用。EXPLAIN關鍵字一般放在SELECT查詢語句的前面,用于描述MySQL如何執行查詢操作、以及MySQL成功返回結果集需要執行的行數。explain 可以幫助我們分析 select 語句,讓我們知道查詢效率低下的原因,從而改進我…

怎么驗證proftpd安裝成功_英雄聯盟手游泰服安卓賬號怎么注冊

英雄聯盟手游中泰服安卓賬號怎么注冊?泰服安卓賬號的注冊流程是怎樣的?泰服安卓賬號的注冊與其他服安卓賬號的注冊是否一致?接下來就給介紹下手游中泰服安卓賬號的注冊,希望對各位玩家能有所幫助。英雄聯盟游戲新泰服安卓賬號怎樣…

oracle實現mysql的if_oracle中decode函數 VS mysql中的if函數和case函數

oracle中有decode函數,如下:select sum(decode(sex,男,0,1)) 男生數 from school;統計男生數目,含義為:decode()中sex字段為男時,用1代替,然后計算總和而mysql中沒有該函…

mysql 刪掉重復數據

--不知道為啥這個mysql外邊還要包一層,不然就報錯DELETE FROMcourse WHEREname IN ( select mm.name from (SELECTa.name as nameFROMcourse aGROUP BYa. NAMEHAVINGcount(a.NAME) > 1)mm) AND id NOT IN ( select nn.id from (SELECTmin(id) as idFROMcours…

spring中用到哪些設計模式

1.工廠模式,這個很明顯,在各種BeanFactory以及ApplicationContext創建中都用到了; 2.模版模式,這個也很明顯,在各種BeanFactory以及ApplicationContext實現中也都用到了; 3.代理模式,在Aop實現中…

visio對象放入word顯示不全_辦公人士必學visio技能 手把手教你使用visio繪制項目全景圖!...

Hi,大家好!我是愛踢汪。今天本汪想問問你用什么總結項目,Word、PPT還是視頻?下面我們聊聊畫圖。畫圖固然是為了好看,視覺上的沖擊加深印象。更重要的是,圖像模型帶來的“潛臺詞”,有意想不到的效果&#xf…

java 回調函數很好懂

首先先介紹回調函數的概念。比如客戶端client,想要調用服務器端server的某個函數為你提供服務。比如炒西紅柿炒蛋,cookTomato() 這時候,服務器端說,你先付錢才能為你服務,這時候服務器端要調用客戶端的getMoney().才能…

mongoDB操作詳細

簡介 它和我們使用的關系型數據庫最大的區別就是約束性,可以說文件型數據庫幾乎不存在約束性,理論上沒有主外鍵約束,沒有存儲的數據類型約束等等 關系型數據庫中有一個 "表" 的概念,有 "字段" 的概念,有 "數據條目" 的概念 MongoDB中也同樣有以上…

mysql 存儲過程 on_MySQL存儲過程的權限問題小結

MySQL的存儲過程,沒錯,看起來好生僻的使用場景。問題源于一個開發同學提交了權限申請的工單,需要開通一些權限。本來是一個很正常的操作,但在我來看是比較著急且緊迫的,說來慚愧,忙著方向規劃和開發的事情&…

搜索引擎蜘蛛爬蟲原理

permike 原文 搜索引擎蜘蛛爬蟲原理 關于搜索引擎的大話還是少說些,下面開始正文搜索引擎蜘蛛爬蟲原理: 1 聚焦爬蟲工作原理及關鍵技術概述 網絡爬蟲是一個自動提取網頁的程序,它為搜索引擎從Internet網上下載網頁,是搜索引擎的重…

《Android開發藝術探索》讀書筆記 (10) 第10章 Android的消息機制

第10章 Android的消息機制 10.1 Android消息機制概述 (1)Android的消息機制主要是指Handler的運行機制,其底層需要MessageQueue和Looper的支撐。MessageQueue是以單鏈表的數據結構存儲消息列表但是以隊列的形式對外提供插入和刪除消息操作的消息隊列。MessageQueue只…

mysql索引引擎_mysql搜索引擎和索引那些事

mysql的存儲引擎三種存儲方式**InnoDB **(默認)一個文件存儲表結構,一個存儲數據和目錄(索引)# 一個文件 book_name | author| press | price | pub_date frm文件 frame的縮寫# 另一個文件(數據 目錄)# | 倚天屠龍記 | egon | 北京工業地雷出版社 | 70.00 | 2019-07…

SPOJ HIGH Highways ——Matrix-Tree定理 高斯消元

【題目分析】 Matrix-Tree定理高斯消元 求矩陣行列式的值&#xff0c;就可以得到生成樹的個數。 至于證明&#xff0c;可以去看Vflea King&#xff08;炸樹狂魔&#xff09;的博客 【代碼】 #include <cmath> #include <cstdio> #include <cstring> #include…

深度ip轉換器手機版app_房串串經紀人版app下載-房串串經紀人版app手機版 v1.0.0...

房串串經紀人版app&#xff1a;專門為房產經紀人打造的輔助辦公軟件&#xff0c;提供的功能非常的全面&#xff0c;涵蓋了房產服務過程中的各個環節&#xff0c;隨時可以手機在線處理自己的日常工作&#xff0c;提高了工作的效率&#xff0c;操作很簡單&#xff0c;讓你更好的實…