wondows10用Electron打包threejs的項目記錄

背景

電腦是用的mac,安裝了parallels desktop ,想用electron 想同時打包出? 蘋果版本和windows版本。因為是在虛擬機里安裝,它常被我重裝,所以記錄一下打包的整個過程。另外就是node生態太活躍,幾個依賴沒記錄具體版本,很容易各種報錯。

需要環境

window10

node: 18.18.2

yarn: 1.22.21

nrm: 1.2.6

electron:?23.3.13

準備配置環境

1、安裝nvm(方便切換node版本)

到?Releases · coreybutler/nvm-windows · GitHub

下載?nvm-setup 并安裝?

2、選擇node版本(當前作者使用的是18.18.2,雖然當前最新版本已經上20了)

在cmd中安裝node版本

> nvm install?18.18.2

3、切換鏡像(沒有設置鏡像前,有時會舉步維艱)

>?npm config set registry https://registry.npmmirror.com/

4、安裝nrm(以前只知道淘寶源,現在發現有nrm可以管理源,在有些源更新不及時,切換一下或許就成功了)

>?npm install -g nrm

5、查看選擇源

nrm ls

選擇 tencent? (因為作者在當時使用taobao云時,有個依賴一直超時,選擇tencent后,可以了)

nrm use tencent

6、安裝yarn (為什么安裝yarn,有些依賴關系你沒搞懂前,你用npm試試,絕對會讓你懷疑人生)

> npm install -g yarn

7、初始化項目(注意填寫 author 和 description ,在后面的打包中是必須項)

> yarn init

8、開始安裝electron 23

> yarn add electron@23.3.13

或者你不知道23版本哪個最新

> yarn add electron@23

?

運行時查看

1、安裝官方的例子,假設我們的入口文件是? index.html

我們新建一個? main.js? 拷貝官方的代碼

const { app, BrowserWindow } = require('electron/main')const createWindow = () => {const win = new BrowserWindow({width: 800,height: 600})win.loadFile('index.html')
}app.whenReady().then(() => {createWindow()app.on('activate', () => {if (BrowserWindow.getAllWindows().length === 0) {createWindow()}})
})app.on('window-all-closed', () => {if (process.platform !== 'darwin') {app.quit()}
})

2、修改 package.json? (加入一個? start? 腳本)

{"name": "my-electron-app","version": "1.0.0","author": "hott1985","description": "Hello World!","main": "main.js","scripts": {"start": "electron .","test": "echo \"Error: no test specified\" && exit 1"},"license": "MIT","devDependencies": {"electron": "23.1.3"}
}

3、運行查看

>?yarn run start

打包exe?

因為我們的環境是window10所以打包出來可能是exe的

1、安裝打包依賴? ? (官方方法是? yarn add --dev @electron-forge/cli? ?上面有? --dev? 但是因為我們用的不是最新的,所以不要加? --dev? 由 yarn 自動去分析依賴關系)

>?yarn add @electron-forge/cli

?

2、?使用現成的轉化腳本將項目導入至 Electron Forge

>?npx electron-forge import

3、這個時候的package.json大概是長這樣的

{"name": "my-electron-app","version": "1.0.0","main": "main.js","author": "hott1985","description": "Hello World!","scripts": {"start": "electron-forge start","test": "echo \"Error: no test specified\" && exit 1","package": "electron-forge package","make": "electron-forge make"},"license": "MIT","dependencies": {"@electron-forge/cli": "^7.3.0","@electron-forge/plugin-fuses": "^7.3.0","@electron/fuses": "^1.7.0","electron-squirrel-startup": "^1.0.0"},"devDependencies": {"@electron-forge/maker-deb": "^7.3.0","@electron-forge/maker-rpm": "^7.3.0","@electron-forge/maker-squirrel": "^7.3.0","@electron-forge/maker-zip": "^7.3.0","@electron-forge/plugin-auto-unpack-natives": "^7.3.0","electron": "23.3.13"}
}

4、補全2個官方沒提到的依賴 (官方文檔中,可以直接打包了,實際還爆2個依賴沒裝上)

> yarn add @electron-forge/plugin-fuses?

?

繼續試試

?

> yarn add @electron/fuses?

?可以進入運行時了

5、打包make

?如果你前面沒有在package.json中加入作者author和描述description 就會有錯誤

加上去重新執行就能在打包成了

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

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

相關文章

lora網關智慧工廠三色燈安燈狀態采集鋇錸技術S281

LoRa網關結合鋇錸技術S281模塊在智慧工廠三色燈安燈狀態采集方面具有廣泛的應用前景。智慧工廠的安全生產管理對于企業生產經營至關重要,而三色燈安燈是工廠安全生產管理的重要指示燈,通過LoRa無線通信技術和鋇錸技術S281模塊,可以實現對三色…

android 使用X264編碼視頻

android 使用X264編碼視頻 源碼剛上傳可能審核 源碼下載地址 X264對應部分API介紹 初始化x264_param_t _x264_param new x264_param_t;/*** preset是編碼速度* 可選項"ultrafast", "superfast", "veryfast", "faster", "fa…

使用 package.json 配置代理解決 React 項目中的跨域請求問題

使用 package.json 配置代理解決 React 項目中的跨域請求問題 當我們在開發前端應用時,經常會遇到跨域請求的問題。為了解決這個問題,我們可以通過配置代理來實現在開發環境中向后端服務器發送請求。 在 React 項目中,我們可以使用 package…

MES系統中的手動排產和自動排產-助力生產效率

企業在排產管理中面臨的問題: 大多數的企業在調度排產過程中,都會遇到以下問題。首先是插單非常的多,計劃調整困難,會經常性的發生原材料、零部件的備貨不足。計劃按MRP或庫存展示計算出需求后將產生大量工單,這些工單…

《劍指Offer》筆記題解思路技巧優化_Part_6

《劍指Offer》筆記&題解&思路&技巧&優化_Part_6 😍😍😍 相知🙌🙌🙌 相識😢😢😢 開始刷題🟡1.LCR 168. 丑數—— 丑數🟢2. LCR 16…

Kubernetes服務網絡Ingress網絡模型分析、安裝和高級用法

文章目錄 1、Ingres簡介2、Ingres網絡模型分析3、安裝Ingress4、使用4.1、搭建測試環境4.2、域名訪問4.3、路徑重寫(高級用法)4.4、流量限制(高級用法) 5、總結 1、Ingres簡介 Ingress翻譯過來是“入口”的意思,也就是…

切換分支時候IDEA提示:workspace associated with branch feature has been restored

切換分支時候IDEA提示:workspace associated with branch feature has been restored 這個消息是指與"feature"分支關聯的工作區已經恢復。在Git中,工作區是指你當前正在進行修改和編輯的文件和目錄。當你切換分支時,Git會自動將工…

配置docker 支持GPU方法(Nvidia GPU)

參考官方文檔: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html 系統版本:ubuntu 23.04 執行腳本如下: 1.Configure the production repository: curl -fsSL https://nvidia.github.io/lib…

怎么把試卷圖片轉換成word?這4種方法一看就會

怎么把試卷圖片轉換成word?在數字化日益盛行的今天,我們常常會面臨將紙質試卷或圖片中的試卷內容轉化為Word文檔的需求。無論是為了對試卷內容進行編輯、修改,還是為了在線共享、遠程教學,將圖片轉換為Word文檔都成為了至關重要的…

集成TinyMCE富文本編輯器

若依的基礎上集成TinyMCE富文本編輯器 前端bootstrap TinyMCE官網鏈接 TinyMCE所需靜態資源下載鏈接 開源項目-若依鏈接 將TinyMCE靜態資源包放入項目中&#xff1b; 代碼引入css&#xff1a; <!-- 引入TinyMCE CSS --><link th:href"{/ajax/libs/tinymce/j…

金田金業: 美聯儲泡沫正在破裂! 崩潰對黃金非常有利

The Great Recession Blog作者大衛哈吉斯表示&#xff0c;美聯儲一直以來都將繼續收緊貨幣政策&#xff0c;直到出現問題&#xff0c;但市場現在已經陷入泡沫。 他指出&#xff0c;泡沫正在破裂&#xff0c;崩潰最終將對黃金非常有利。 正當投資者聚焦美聯儲何時會降息&#xf…

Springboot 使用升級小記-循環依賴

springboot 使用已經非常廣泛了&#xff0c;它的版本迭代速度也比較快&#xff0c;過一段時間版本差異就會比較大。 由于低版本依賴的 spring 版本有漏洞問題&#xff0c;這次我們是從 2.2.6 版本直接升級到 2.7.16&#xff0c;升級 3.0 的話擔心差異更大。 這時直接修改依賴…

Jmeter 學習目錄(0)

Jmeter 所有內容均以學習為主輸出內容&#xff0c;按照最小單位和基礎進行輸出。 如果有看不懂&#xff0c;或者有不明確的內容&#xff0c;歡迎大家留言說明。 Mac Jmeter下載安裝啟動(1) Jmeter 目錄介紹(2) Jmeter基礎發起一次請求(3)

代碼隨想錄三刷day07

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、力扣206. 反轉鏈表二、力扣24. 兩兩交換鏈表中的節點 前言 遞歸寫法和雙指針法實質上都是從前往后翻轉指針指向&#xff0c;其實還有另外一種與雙指針法不同…

SD-WAN:快速改造升級企業原有網絡架構

隨著企業信息化的推進&#xff0c;傳統網絡架構已難以滿足企業日益復雜和多樣化的組網互聯需求。企業在不斷提高對網絡的要求&#xff0c;包括各辦公點的互聯數據傳輸、資源共享、視頻會議、ERP、OA、郵箱系統、云服務等應用需求&#xff0c;以及對網絡運維工作的簡化和降低難度…

Spring Event 快速入門

請直接看原文 : Spring Event&#xff0c;賊好用的業務解耦神器&#xff01; (qq.com) -------------------------------------------------------------------------------------------------------------------------------- 前言 Spring Event 同步使用 Spring Event 異…

架構篇35:微服務架構最佳實踐 - 方法篇

文章目錄 服務粒度拆分方法基礎設施小結上一篇我們談了實施微服務需要避免踩的陷阱,簡單提煉為: 微服務拆分過細,過分強調“small”。微服務基礎設施不健全,忽略了“automated”。微服務并不輕量級,規模大了后,“lightweight”不再適應。針對這些問題,我們看看微服務最佳…

ADAS智能駕駛測試知多少?

當涉及ADAS&#xff08;Advanced Driver Assistance Systems&#xff09;智能駕駛的測試時&#xff0c;有一個完整的測試體系可以用來評估系統的性能和功能。 1. 傳感器測試 1.1 傳感器校準測試 描述&#xff1a;確保傳感器&#xff08;如雷達、攝像頭、激光雷達等&#xff09;…

【stm32】hal庫學習筆記-UART/USART串口通信(超詳細!)

【stm32】hal庫學習筆記-UART/USART串口通信 hal庫驅動函數 CubeMX圖形化配置 導入LCD.ioc RTC設置 時鐘樹配置 設置LSE為RTC時鐘源 USART設置 中斷設置 程序編寫 編寫主函數 /* USER CODE BEGIN 2 */lcd_init();lcd_show_str(10, 10, 16, "Demo12_1:USART1-CH340&q…

【PythonGIS】Python線矢量等距離取點/線等分取點點創建矢量面

不多說&#xff0c;這是之前項目需求的代碼&#xff0c;已經是去年的了一直沒來的及發&#xff0c;今天抽出來一丟丟的空擋發一下。主要就是利用線矢量等距離生成點矢量&#xff0c;或者直接將線矢量等分生成點矢量&#xff0c;這個需求其實極限一下就是線轉點了&#xff08;將…