認識Electron 開啟新的探索世界一

一、Electron輕松入門

? ? ? ? 1.搭建開發環境:

? ? ? ? 一般情況下開發者會使用node.js來創建electron項目,node.js是一個基于Chrome V8引擎的javascript運行環境,所以首先需要到官網去下載安裝node.js

????????? 下載鏈接:https://nodejs.org/enhttps://nodejs.org/en

? ? ? ? 另外,需要使用yarn依賴包管理工具,安裝命令:npm? install? -g? yarn

? ? ? ? 接下來,我們創建第一個electron應用,先創建一個目錄,再次目錄下打開命令行,執行如下命令創建第一個node.js項目:yarn? init

? ? ? ? 上述命令執行完成后,會有一系列提示,要求用戶輸入項目名稱、項目版本等信息。之后項目創建完成之后,在該目錄下會生成一個package.json文件,該文件為為該項目的配置文件

????????2.安裝electron依賴包:

? ? ? ? 國內用戶一般在阿里巴巴搭建好的electron的鏡像網站:????????????????? ?https://npm.taobao.org/mirrors/electronhttps://npm.taobao.org/mirrors/electron? ? ?

?????????

然后設置指令:yarn? config? set? ELECTRON_MIRROR?https://cdn.npm.taobao.org/dist/electron

? ? ? ? 之后環境變量設置號之后還需要在命令行中執行以下命令來安裝electron:

? ? ? ? yarn add electron? --dev? --platform=win64

????????3.安裝成功之后,項目目錄下會增加一個node_modules子目錄,在該目錄下存放著項目運行時依賴的node.js包

? ? ? ? 4.為了可以使用electron依賴包,可以在package.jsopn中增加一個script配置;

? ? ? ? "script" : { "start" : "electron? ./index.js" }

? ? ? ? 上述自定義腳本,代表我們可以使用yarn start使用electron來啟動本項目

二、創建窗口界面

? ? ? ? 1.在項目的根目錄下新建index.html文件

? ? ? ? 2.啟動窗口:在項目的根目錄下創建index.js文件

? ? ? ? 其中app代表整個應用,通過它可以獲取應用程序生命周期中的各個事件。我們在app的ready事件中創建窗口并且把窗口對象交給一個全局引用,這樣做的目的是不讓javascript執行引擎在垃圾回收時回收這個窗口對象

? ? ? ? 在創建窗口時,我們傳入了配置對象 webPreferences: {nodeIntergration: true},此配置對象告訴electron需要為頁面集成node.js環境并賦予index.html頁面中的javascript訪問node.js的能力

? ? ? ? 窗口創建完成后,窗口加載了index.html

? ? ? ? 在窗口關閉時,將這個win全局置為空,所有的窗口關閉即可以退出app

? ? ? ? 執行yarn start 后,窗口成功啟動???????????????????????????????? ? ?

三、引用javascript

? ? ? ? 1.electron給index.js提供了完整的node.js環境的訪問能力,index.js可以像所有node.js程序一樣,通過require引入其他的js文件

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

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

相關文章

MySQL下載過程

MySQL Enterprise Edition Downloads | Oracle mysql官方下載網址(9.2版本) 下面的示例是5.7的包,過程是一樣的 port:3308(默認的是3306,筆者下了一個占用了該端口) root:123456 問題…

【學術投稿】第五屆計算機網絡安全與軟件工程(CNSSE 2025)

重要信息 官網:www.cnsse.org 時間:2025年2月21-23日 地點:中國-青島 簡介 第五屆計算機網絡安全與軟件工程(CNSSE 2025)將于2025年2月21-23日在中國-青島舉行。CNSSE 2025專注于計算機網絡安全、軟件工程、信號處…

Qt:QWidget核心屬性

目錄 QWidget核心屬性 enab geometry WindowFrame的影響 windowTitle windowIcon qrc文件管理資源 windowOpacity cursor font toolTip focusPolicy styleSheet QWidget核心屬性 在Qt中使用QWidget類表示"控件",如按鈕、視圖、輸入框、滾動…

Linux TCP 編程詳解與實例

一、引言 在網絡編程的領域中,TCP(Transmission Control Protocol)協議因其可靠的數據傳輸特性而被廣泛應用。在 Linux 環境下,使用 C 或 C 進行 TCP 編程可以實現各種強大的網絡應用。本文將深入探討 Linux TCP 編程的各個方面&…

原生redis實現分布式鎖

用 原生 Redis(Jedis、Lettuce) 實現分布式鎖,可以參考 Redisson 的原理,但需要自己處理鎖的自動續期、故障恢復等細節。核心思路是使用 Redis 的 SET NX EX 或 SET PX NX 命令來實現互斥鎖,并利用 Lua 腳本 保障原子性…

論文筆記:Rethinking Graph Neural Networks for Anomaly Detection

目錄 摘要 “右移”現象 beta分布及其小波 實驗 《Rethinking Graph Neural Networks for Anomaly Detection》,這是一篇關于圖(graph)上異常節點診斷的論文。 論文出處:ICML 2022 論文地址:Rethinking Graph Ne…

神經網絡常見激活函數 6-RReLU函數

文章目錄 RReLU函數導函數函數和導函數圖像優缺點pytorch中的RReLU函數tensorflow 中的RReLU函數 RReLU 隨機修正線性單元&#xff1a;Randomized Leaky ReLU 函數導函數 RReLU函數 R R e L U { x x ≥ 0 a x x < 0 \rm RReLU \left\{ \begin{array}{} x \quad x \ge 0…

Vue(6)

一.路由板塊封裝 &#xff08;1&#xff09;路由的封裝抽離 目標&#xff1a;將路由板塊抽離出來 好處&#xff1a;拆分板塊&#xff0c;利于維護 // 路由的使用步驟 5 2 // 5個基礎步驟 // 1. 下載 v3.6.5 // 2. 引入 // 3. 安裝注冊 Vue.use(Vue插件) // 4. 創建路由對象…

【python】matplotlib(animation)

文章目錄 1、matplotlib.animation1.1、FuncAnimation1.2、修改 matplotlib 背景 2、matplotlib imageio2.1、折線圖2.2、條形圖2.3、散點圖 3、參考 1、matplotlib.animation 1.1、FuncAnimation matplotlib.animation.FuncAnimation 是 Matplotlib 庫中用于創建動畫的一個…

【東莞常平】戴爾R710服務器不開機維修分享

1&#xff1a;2025-02-06一位老客戶的朋友剛開工公司ERP服務器一臺戴爾老服務器故障無法開機&#xff0c;于是經老客戶介紹找到我們。 2&#xff1a;服務器型號是DELL PowerEdge R710 這個服務器至少也有15年以上的使用年限了。 3&#xff1a;客戶反饋的故障問題為&#xff1a;…

Spring AI -使用Spring快速開發ChatGPT應用

前言 Spring在Java生態中一直占據大半江山。最近我發現Spring社區推出了一個Spring AI項目&#xff0c;目前該項目還屬于Spring實驗性項目&#xff0c;但是我們可以通過該項目&#xff0c;可以非常快速的開發出GPT對話應用。 本篇文章將會對SpringAI進行簡單的介紹和使用&#…

經典排序算法復習----C語言

經典排序算法復習 分類 交換類 冒泡快排 分配類 計數排序基數排序 選擇類 選擇排序 堆排序 歸并類 歸并排序 插入類 直接插入排序 希爾排序 折半插入排序 冒泡排序 基于交換。每一輪找最大值放到數組尾部 //冒泡排序 void bubSort(int* arr,int size){bool sorte…

BFS解決拓撲排序(3題)

目錄 拓撲排序 1.如何排序&#xff1f; 2.如何形成拓撲排序 3.如何建圖 1.看數據稠密度 2. 根據算法流程靈活建圖 1.課程表 2.課程表2 3.火星詞典 拓撲排序 找到做事情的先后順序&#xff0c;拓撲排序的結果可能不是唯一的 1.如何排序&#xff1f; 1.找出圖中入度為…

kafka 3.5.0 raft協議安裝

前言 最近做項目&#xff0c;需要使用kafka進行通信&#xff0c;且只能使用kafka&#xff0c;筆者沒有測試集群&#xff0c;就自己搭建了kafka集群&#xff0c;實際上筆者在很早之前就搭建了&#xff0c;因為當時還是zookeeper&#xff08;簡稱ZK&#xff09;注冊元數據&#…

Unity項目接入xLua的一種流程

1. 導入xlua 首先導入xlua&#xff0c;這個不用多說 2. 編寫C#和Lua交互腳本 基礎版本&#xff0c;即xlua自帶的版本 using System.Collections; using System.Collections.Generic; using UnityEngine; using XLua; using System; using System.IO;[Serializable] public…

四次揮手詳解

文章目錄 一、四次揮手各狀態FIN_WAIT_1CLOSE_WAITFIN_WAIT_2LAST_ACKTIME_WAITCLOSE 二、雙方同時調用close()&#xff0c;FIN_WAIT_1狀態后進入CLOSING狀態CLOSING狀態 三、TIME_WAIT狀態詳解(1) TIME_WAIT狀態下的2MSL是什么MSL &#xff08;報文最大生存時間&#xff09;為…

【嵌入式 Linux 音視頻+ AI 實戰項目】瑞芯微 Rockchip 系列 RK3588-基于深度學習的人臉門禁+ IPC 智能安防監控系統

前言 本文主要介紹我最近開發的一個個人實戰項目&#xff0c;“基于深度學習的人臉門禁 IPC 智能安防監控系統”&#xff0c;全程滿幀流暢運行。這個項目我目前全網搜了一圈&#xff0c;還沒發現有相關類型的開源項目。這個項目只要稍微改進下&#xff0c;就可以變成市面上目前…

java: framework from BLL、DAL、IDAL、MODEL、Factory using oracle

oracel 21c sql: -- 創建 School 表 CREATE TABLE School (SchoolId CHAR(5) NOT NULL,SchoolName NVARCHAR2(500) NOT NULL,SchoolTelNo VARCHAR2(8) NULL,PRIMARY KEY (SchoolId) );CREATE OR REPLACE PROCEDURE addschool(p_school_id IN CHAR,p_school_name IN NVARCHAR2,p…

解決錯誤:CondaHTTPError: HTTP 000 CONNECTION FAILED for url

解決錯誤&#xff1a;CondaHTTPError: HTTP 000 CONNECTION FAILED for url 查看channels:vim ~/.condarcshow_channel_urls: true channels:- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/…

Apache APISIX 快速入門

文章目錄 apisix 快速入門什么是apisix有了 NGINX 和 Kong&#xff0c;為什么還需要 Apache APISIX&#xff1f;軟件架構基于 Nginx 開源版本&#xff0c;而 Nginx 并不支持動態配置&#xff0c;為什么 Apache APISIX 聲稱自己可以實現動態配置&#xff1f; 安裝配置 APISIX配置…