electron教程(一)創建項目

一、方式①

根據官網描述將electron/electron-quick-start項目克隆下來并啟動

electron/electron-quick-start地址:

GitHub - electron/electron-quick-start: Clone to try a simple Electron app

git clone https://github.com/electron/electron-quick-start.git

一、方式②

創建自己的項目

1.cmd打開運行窗口
mkdir demo-electron-app && cd demo-electron-app
npm init
2.根據提示確認

?3.修改package.json文件
{"name": "demo-electron-app","version": "1.0.0","description": "my-app","main": "main.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "ljx","license": "ISC"
}

4.安裝electron?

npm容易報錯,建議用cnpm

npm install --save-dev electron

package.json文件中添加運行命令

 "start": "nodemon --watch main.js --exec npm run build", // 如果沒安裝nodemon,這行不要"build": "electron ."

建議:在node環境中,安裝nodemon,官網介紹,自行了解:諾德蒙 - NPM (npmjs.com)

安裝步驟:

  1. win+r,輸入cmd,打開運行窗口
  2. 輸入npm install -g nodemon
  3. nodemon -v檢查是否安裝成功

5.創建index.html文件?
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP --><meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'"><title>我的app</title>
</head><body><h1>Hello World!</h1>我們正在使用 Node.js <span id="node-version"></span>,Chromium <span id="chrome-version"></span>,and Electron <span id="electron-version"></span>.
</body></html>
6.創建main.js文件

主進程文件

const { app, BrowserWindow } = require('electron')
const path = require('node:path')// 創建窗口
const createWindow = () => {// 設置窗口大小const win = new BrowserWindow({width: 800,height: 600,webPreferences: {preload: path.join(__dirname, 'preload.js')}})// 當前窗口顯示的頁面win.loadFile('index.html')
}// app啟動后創建窗口
app.whenReady().then(() => {createWindow()app.on('activate', () => {if (BrowserWindow.getAllWindows().length === 0) createWindow()})
})// 關閉所有窗口時退出應用
app.on('window-all-closed', () => {if (process.platform !== 'darwin') app.quit()
})
7.創建preload.js文件

預加載文件,通過 contextBridge 定義一個全局變量 versions 的示例如下:

const { contextBridge } = require('electron/renderer')contextBridge.exposeInMainWorld('versions', {node: () => process.versions.node,chrome: () => process.versions.chrome,electron: () => process.versions.electron
})
8.創建renderer.js文件

通過全局變量 versions 可以獲取瀏覽器/node/electron版本信息,并將這些信息插入到html中

const information = document.getElementById('info')
information.innerText = `本應用正在使用 Chrome (v${versions.chrome()}), Node.js (v${versions.node()}), 和 Electron (v${versions.electron()})`

?在index.html文件中添加id=info的標簽,并引入render.js文件

<div id="info"></div><script src="./renderer.js"></script>
?9.啟動看效果
npm run build

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

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

相關文章

代碼隨想錄Day71(圖論Part07)

53.尋寶 題目&#xff1a;53. 尋寶&#xff08;第七期模擬筆試&#xff09; (kamacoder.com) 思路&#xff1a;首先&#xff0c;我不知道怎么存這樣的東西&#xff0c;用三維數組嗎&#xff0c;沒搞懂&#xff0c;果斷放棄 prim算法實現 import java.util.*;class Main {publi…

LeetCode 3099.哈沙德數:計算一個數十進制下各位之和

【LetMeFly】3099.哈沙德數&#xff1a;計算一個數十進制下各位之和 力扣題目鏈接&#xff1a;https://leetcode.cn/problems/harshad-number/ 如果一個整數能夠被其各個數位上的數字之和整除&#xff0c;則稱之為 哈沙德數&#xff08;Harshad number&#xff09;。給你一個…

Github 2024-06-30開源項目日報 Top10

根據Github Trendings的統計,今日(2024-06-30統計)共有10個項目上榜。根據開發語言中項目的數量,匯總情況如下: 開發語言項目數量C#項目1Python項目1PowerShell項目1JavaScript項目1Jupyter Notebook項目1TypeScript項目1PHP項目1C++項目1Swift項目1Rust項目1shadcn/ui: 開源…

Laravel介紹與學習入門

Laravel 是一款優雅且功能強大的 PHP Web 開發框架&#xff0c;它被廣泛認為是 PHP 領域內構建現代 Web 應用程序的最佳選擇之一。Laravel 提供了一套簡潔、富有表現力的語法&#xff0c;使得開發者能夠高效地編寫清晰、可維護的代碼。以下是 Laravel 的一些關鍵特點和入門概念…

實戰項目——用Java實現圖書管理系統

前言 首先既然是管理系統&#xff0c;那咱們就要實現以下這幾個功能了--> 分析 1.首先是用戶分為兩種&#xff0c;一個是管理員&#xff0c;另一個是普通用戶&#xff0c;既如此&#xff0c;可以定義一個用戶類&#xff08;user&#xff09;&#xff0c;在定義管理員類&am…

DMA學習筆記

參考文章 https://blog.csdn.net/as480133937/article/details/104927922 DMA簡介 DMA&#xff0c;全稱Direct Memory Access&#xff0c;即直接存儲器訪問。DMAC 即 DMA 控制器&#xff0c;提供了一種硬件的數據傳輸方式&#xff0c;無需 CPU 的介入&#xff0c;可以處理外…

7.6、指針和數組

代碼 #include <iostream> using namespace std;int main() {//指針和數組//利用指針訪問數組中的元素int arr[10] { 1,2,3,4,5,6,7,8,9,10 };cout << "第一個元素為&#xff1a;" << arr[0] << endl;int * p arr;//arr就是數組首地址co…

kaggle量化賽金牌方案(第七名解決方案)(下)

— 無特征工程的神經網絡模型&#xff08;得分 5.34X&#xff09; 比賽進入最后階段&#xff0c;現在是時候深入了解一些關于神經網絡模型的見解了。由于 Kaggle 討論區的需求&#xff0c;我在這里分享兩個神經網絡模型。第一個是 LSTM 模型&#xff0c;第二個是卷積網絡&…

華為機試HJ6質數因子

華為機試HJ6質數因子 題目&#xff1a; 按照從小到大輸出給定數值的質數因子 想法&#xff1a; 遍歷判斷從小到大的數值是否是給定數值的質數因子&#xff0c;是就直接輸出&#xff0c;該方法輸出的數值已經排序好了 import mathinput_number int(input())# 循環判斷提取…

鴻翼FEX文件安全交換系統,打造安全高效的文件擺渡“綠色通道”

隨著數字經濟時代的到來&#xff0c;數據已成為最有價值的生產要素&#xff0c;是企業的重要資產之一。隨著數據流動性的增強&#xff0c;數據安全問題也隨之突顯。尤其是政務、金融、醫療和制造業等關鍵領域組織和中大型企業&#xff0c;面臨著如何在保障數據安全的同時&#…

llm學習-3(向量數據庫的使用)

1&#xff1a;數據讀取和加載 接著上面的常規操作 加載環境變量---》獲取所有路徑---》加載文檔---》切分文檔 代碼如下&#xff1a; import os from dotenv import load_dotenv, find_dotenvload_dotenv(find_dotenv()) # 獲取folder_path下所有文件路徑&#xff0c;儲存在…

【力扣 - 每日一題】3099. 哈沙德數 | 模擬 (Go/C++)

題目內容 如果一個整數能夠被其各個數位上的數字之和整除&#xff0c;則稱之為 哈沙德數&#xff08;Harshad number&#xff09;。給你一個整數 x 。如果 x 是 哈沙德數 &#xff0c;則返回 x 各個數位上的數字之和&#xff0c;否則&#xff0c;返回 -1 。 示例 1&#xff1…

C++Primer Plus 第十四章代碼重用:編程練習,第3題

CPrimer Plus 第十四章代碼重用&#xff1a;編程練習,第3題 編程練習,第3題 提示&#xff1a;寫完文章后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 CPrimer Plus 第十四章代碼重用&#xff1a;編程練習,第3題前言定義一個 QueueTp 模板…

中國國產AI芯片的崛起

一、CUDA的壟斷 當討論半導體行業面臨的挑戰時&#xff0c;你首先想到的是什么&#xff1f;光刻機&#xff1f;3納米或者5納米技術&#xff1f;我們無法生產的完美方形芯片&#xff1f;是的&#xff0c;但也不完全是。 人們經常把半導體芯片歸類為硬件產業&#xff0c;但實際上…

【大模型LLM面試合集】大語言模型基礎_llm概念

1.llm概念 1.目前 主流的開源模型體系 有哪些&#xff1f; 目前主流的開源LLM&#xff08;語言模型&#xff09;模型體系包括以下幾個&#xff1a; GPT&#xff08;Generative Pre-trained Transformer&#xff09;系列&#xff1a;由OpenAI發布的一系列基于Transformer架構…

Linux常用查看日志方法-如使用less查看日志文件

在Linux系統中&#xff0c;查看日志文件是常見的運維任務之一。less命令是一個非常強大的工具&#xff0c;用于查看長文本文件&#xff0c;例如日志文件。它允許你按頁瀏覽文件&#xff0c;并提供了一些便捷的導航和搜索功能。 使用less查看日志文件 假設你有一個日志文件/va…

linux環境安裝elasticsearch緩存數據庫和Kibana客戶端

linux環境安裝elasticsearch緩存數據庫&#xff0c;今天我們安裝7.17.18版本&#xff0c;并分析遇到的問題。 一、elasticsearch安裝運行 1、直接下載 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.18-linux-x86_64.tar.gz2、解壓 tar -…

驚艷眼球的視覺盛宴【二】

當晨光初破黎明的靜謐&#xff0c;一片絢爛便悄然鋪展在蔚藍的天際。那一刻&#xff0c;大地蘇醒&#xff0c;萬物復蘇&#xff0c;我們仿佛踏入了一幅活生生的畫卷。霧氣繚繞之中&#xff0c;群山似乎在低語&#xff0c;古樹在輕搖&#xff0c;一切都沐浴在柔和而金黃的光芒之…

如何理解vuex中的每個概念(通俗易懂)

文章目錄 1. 什么是 Vuex&#xff1f;2. Vuex 的四個核心概念 1. 什么是 Vuex&#xff1f; 想象一下&#xff0c;你家里有一個大冰箱&#xff0c;所有家庭成員都可以訪問這個冰箱。每個人都可以往里面放東西&#xff0c;也可以從里面拿東西。這個冰箱就像是 Vuex 中的“狀態”…

戰略流程-麥肯錫企業數字化業務變革成熟度評估模型及案例深度解析

一、企業變革成熟度評估模型 企業變革成熟度診斷模型是一種評估工具&#xff0c;用于全面掃描和評估企業在變革轉型過程中的能力水平。該模型通過一系列量化指標和定性分析&#xff0c;對企業在不同變革領域的成熟度進行評分&#xff0c;從而幫助企業識別在變革過程中的優勢和…