Electron入門,項目啟動。

electron 簡單介紹:
實現:HTML/CSS/JS桌面程序,搭建跨平臺桌面應用。
electron 官方文檔:
[https://electronjs.org/docs]

本文是基于以下2篇文章且自行實踐過的,可行性真實有效。
文章1: https://www.cnblogs.com/sunshine-blog/p/9915222.html
文章2:https://jingyan.baidu.com/album/9225544671aecf851648f484.html?picindex=2
總結:
1 創建項目文件夾,我隨便取名newBing
2 項目初始化,生成package.json。(使用命令npm init -y 初始化生成package.json文件)
3 很重要,就是安裝electron的依賴包咯:

項目終端運行:npm install electron -g【加g是全局安裝,自動添加到環境變量中】
檢查是否安裝成功:輸入electron回車,出現一個類似瀏覽器的工具,直接拖進去一個網頁即可
(以上操作安裝如果不成功,就換代理鏡像,切cnpm等操作,安裝下來就行,檢查是否安裝成功:輸入electron回車,出現一個類似瀏覽器的工具:
在這里插入圖片描述

4.第四步,配置必要的文件,下圖一是基本的electron可啟動的項目結構,完成前三步的應該有以下紅框中的文件。我們再手動配2個文件index.html和main.js就能啟動了

在這里插入圖片描述
index.html代碼:

<!DOCTYPE html><html><head><title>桌面應用title</title></head><body><h1>Hello World!</h1>We are using io.js <script>alert('桌面應用')</script>and Electron <script>document.write(process.versions['electron'])</script>.</body></html>

main.js代碼:

const electron = require('electron');
const app = electron.app; // 控制應用生命周期的模塊。
const BrowserWindow = electron.BrowserWindow;// 創建原生瀏覽器窗口的模塊
// 保持一個對于 window 對象的全局引用,不然,當 JavaScript 被 GC,
// window 會被自動地關閉
var mainWindow = null;
// 當所有窗口被關閉了,退出。
app.on('window-all-closed', function() {// 在 OS X 上,通常用戶在明確地按下 Cmd + Q 之前// 應用會保持活動狀態if (process.platform != 'darwin') {app.quit();}
});
// 當 Electron 完成了初始化并且準備創建瀏覽器窗口的時候
// 這個方法就被調用
app.on('ready', function() {// 創建瀏覽器窗口。mainWindow = new BrowserWindow({width: 800, height: 600});// 加載應用的 index.htmlmainWindow.loadURL('file://' + __dirname + '/index.html');// 打開開發工具mainWindow.openDevTools();// 當 window 被關閉,這個事件會被發出mainWindow.on('closed', function() {// 取消引用 window 對象,如果你的應用支持多窗口的話,// 通常會把多個 window 對象存放在一個數組里面,// 但這次不是。mainWindow = null;});
});

package.json:

{"name": "new-bing","version": "1.0.0","description": "","main": "main.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "","license": "ISC","dependencies": {"cnpm": "^9.2.0"}
}

要注意下package.json里的mian對應的是main.js還是index.js,名字要和我們目錄下的入口文件一樣。
接下來就是打開我們新建的應用了,根據圖一的相對路徑 ,找到electron的絕對路徑加空格拼上我們項目的絕對路徑,就打開了,我的是cmd運行 (window+R.輸入cmd,彈框輸入以下命令:):在這里插入圖片描述

C:\Users\Administrator\AppData\Roaming\npm\node_modules\electron\dist\electron.exe C:\Users\Administrator\Desktop\新人資料\NewBing
打開后的效果為:在這里插入圖片描述
文章到此結束了、
下面是我的參考文章2里的打開方式:
在這里插入圖片描述

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

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

相關文章

題解 | #1005.List Reshape# 2023杭電暑期多校9

1005.List Reshape 簽到題 題目大意 按一定格式給定一個純數字一維數組&#xff0c;按給定格式輸出成二維數組。 解題思路 讀入初始數組字符串&#xff0c;將每個數字分離&#xff0c;按要求輸出即可 參考代碼 參考代碼為已AC代碼主干&#xff0c;其中部分功能需讀者自行…

學習Vue:組件通信

組件化開發在現代前端開發中是一種關鍵的方法&#xff0c;它能夠將復雜的應用程序拆分為更小、更可管理的獨立組件。在Vue.js中&#xff0c;父子組件通信是組件化開發中的重要概念&#xff0c;同時我們還會討論其他組件間通信的方式。 父子組件通信&#xff1a;Props 和 Events…

TDSQL赤兔管理臺無管理員用戶密碼解決方案

解決方案 問題描述&#xff1a; tdsql使用過程中&#xff0c;可能會遇到控制臺用戶密碼忘記的情況&#xff0c;用戶登錄次數過多被鎖的情況&#xff0c;沒有管理員的用戶密碼又急需某些權限的情況。 解決過程&#xff1a; 獲取配置庫信息&#xff1a; 在瀏覽器上打開如下命…

基于Javaweb的攝影作品網站/攝影網站

摘 要 隨著信息化時代的到來&#xff0c;系統管理都趨向于智能化、系統化&#xff0c;攝影作品網站也不例外&#xff0c;但目前國內的有些網站仍然都使用人工管理&#xff0c;瀏覽網站人數越來越多&#xff0c;同時信息量也越來越龐大&#xff0c;人工管理顯然已無法應對時代的…

AMD fTPM RNG的BUG使得Linus Torvalds不滿

導讀因為在 Ryzen 系統上對內核造成了困擾&#xff0c;Linus Torvalds 最近在郵件列表中表達了對 AMD fTPM 硬件隨機數生成器的不滿&#xff0c;并提出了禁用該功能的建議。 因為在 Ryzen 系統上對內核造成了困擾&#xff0c;Linus Torvalds 最近在郵件列表中表達了對 AMD fTPM…

【【Verilog典型電路設計之FIFO設計】】

典型電路設計之FIFO設計 FIFO (First In First Out&#xff09;是一種先進先出的數據緩存器&#xff0c;通常用于接口電路的數據緩存。與普通存儲器的區別是沒有外部讀寫地址線&#xff0c;可以使用兩個時鐘分別進行寫和讀操作。FIFO只能順序寫入數據和順序讀出數據&#xff0…

ThinkPHP中實現IP地址定位

在網站開發中&#xff0c;我們經常需要獲取用戶的地理位置信息以提供個性化的服務。一種常見的方法是通過IP地址定位。在本文中&#xff0c;我們將介紹如何在ThinkPHP框架中實現IP地址定位。 一、IP地址定位的基本原理 IP地址是Internet上的設備在網絡中的標識符。每個設備都有…

【從0開始學架構筆記】01 基礎架構

文章目錄 一、架構的定義1. 系統與子系統2. 模塊與組件3. 框架與架構4. 重新定義架構 二、架構設計的目的三、復雜度來源&#xff1a;高性能1. 單機復雜度2. 集群復雜度2.1 任務分配2.2 任務分解&#xff08;微服務&#xff09; 四、復雜度來源&#xff1a;高可用1. 計算高可用…

GitKraken保姆級圖文使用指南

前言 寫這篇文章的原因是組內的產品和美術同學&#xff0c;開始參與到git工作流中&#xff0c;但是網上又沒有找到一個比較詳細的使用教程&#xff0c;所以干脆就自己寫了一個[doge]。文章的內容比較基礎&#xff0c;介紹了Git內的一些基礎概念和基本操作&#xff0c;適合零基…

合并多個文本文件

使用 wxPython 模塊合并多個文本文件的博客。以下是一篇示例博客&#xff1a; C:\pythoncode\blog\txtmerge.py 在 Python 編程中&#xff0c;我們經常需要處理文本文件。有時候&#xff0c;我們可能需要將多個文本文件合并成一個文件&#xff0c;以便進行進一步的處理或分析。…

QT報表Limereport v1.5.35編譯及使用

1、編譯說明 下載后QT CREATER中打開limereport.pro然后直接編譯就可以了。編譯后結果如下圖&#xff1a; 一次編譯可以得到庫文件和DEMO執行程序。 2、使用說明 拷貝如下圖編譯后的lib目錄到自己的工程目錄中。 release版本的重新命名為librelease. PRO文件中配置 QT …

openpose姿態估計【學習筆記】

文章目錄 1、人體需要檢測的關鍵點2、Top-down方法3、Openpose3.1 姿態估計的步驟3.2 PAF&#xff08;Part Affinity Fields&#xff09;部分親和場3.3 制作PAF標簽3.4 PAF權值計算3.5 匹配方法 4、CPM&#xff08;Convolutional Pose Machines&#xff09;模型5、Openpose5.1 …

怎么修改圖片的分辨率?

怎么修改圖片的分辨率&#xff1f;很多人還不知道分辨率是什么意思&#xff0c;以為代表了圖片的清晰度&#xff0c;然而并不是這樣的&#xff0c;其實圖片的分辨率就是圖片尺寸大小的意思。修改圖片的分辨率即改變圖片的尺寸&#xff0c;通常以像素為單位表示。分辨率決定了圖…

【linux基礎(四)】對Linux權限的理解

&#x1f493;博主CSDN主頁:杭電碼農-NEO&#x1f493; ? ?專欄分類:Linux從入門到開通? ? &#x1f69a;代碼倉庫:NEO的學習日記&#x1f69a; ? &#x1f339;關注我&#x1faf5;帶你學更多操作系統知識 ? &#x1f51d;&#x1f51d; Linux權限 1. 前言2. shell命…

八、Linux下,grep/wc/管道符/echo/重定向符/tail如何使用?

1、grep命令 &#xff08;1&#xff09;主要用于文件 &#xff08;2&#xff09;主要作用是“通過關鍵字&#xff0c;過濾文件行” &#xff08;3&#xff09;示例&#xff1a; 2、wc命令 &#xff08;1&#xff09;統計文件的行數、單詞數等 &#xff08;2&#xff09;示例…

react之路由的安裝與使用

一、路由安裝 路由官網2021.11月初&#xff0c;react-router 更新到 v6 版本。使用最廣泛的 v5 版本的使用 npm i react-router-dom5.3.0二、路由使用 2.1 路由的簡單使用 第一步 在根目錄下 創建 views 文件夾 ,用于放置路由頁面 films.js示例代碼 export default functio…

一文預覽 | 8 月 16 日 NVIDIA 在 WAVE SUMMIT深度學習開發者大會 2023精彩亮點搶先看!

由深度學習技術及應用國家工程研究中心主辦&#xff0c;百度飛槳和文心大模型承辦的 WAVE SUMMIT深度學習開發者大會2023&#xff0c;將于 8 月 16 日在北京與大家見面。NVIDIA 作為技術合作伙伴&#xff0c;將攜手百度飛槳參與這場技術盛會。 在這次大會中&#xff0c;NVIDIA…

Java 項目日志實例基礎:Log4j

點擊下方關注我&#xff0c;然后右上角點擊...“設為星標”&#xff0c;就能第一時間收到更新推送啦~~~ 介紹幾個日志使用方面的基礎知識。 1 Log4j 1、Log4j 介紹 Log4j&#xff08;log for java&#xff09;是 Apache 的一個開源項目&#xff0c;通過使用 Log4j&#xff0c;我…

RabbitMq交換機類型介紹

RabbitMq交換機類型介紹 在RabbitMq中&#xff0c;生產者的消息都是通過交換器來接收&#xff0c;然后再從交換器分發到不同的隊列&#xff0c;再由消費者從隊列獲取消息。這種模式也被成為“發布/訂閱”。 分發的過程中交換器類型會影響分發的邏輯。 直連交換機&#xff1a…

【計算機視覺|生成對抗】逐步增長的生成對抗網絡(GAN)以提升質量、穩定性和變化

本系列博文為深度學習/計算機視覺論文筆記&#xff0c;轉載請注明出處 標題&#xff1a;Progressive Growing of GANs for Improved Quality, Stability, and Variation 鏈接&#xff1a;[1710.10196] Progressive Growing of GANs for Improved Quality, Stability, and Vari…