[react開發(fā)electron筆記]-init

init react

yarn create react-app my-app

跑完了執(zhí)行npm start, 發(fā)現(xiàn)react已經(jīng)能跑起來了.

init electron

因?yàn)閑lectron最后需要編輯, 僅安裝在開發(fā)依賴中就可以.

yarn add -dev electron

根據(jù)electron官方文檔啟動(dòng)粘貼下index.htmlmain.js, 在項(xiàng)目根目錄下新建一個(gè)叫electron的文件夾, 丟進(jìn)去.
package.json 根據(jù)官方文檔新增內(nèi)容

  "scripts": {
    "start-electron": "electron ."
  },
  "main": "electron/main.js" ;;此處注意main的路徑多了一層我們新建的electron文件夾

同時(shí)別忘了修改electron/main.js的載入文件路徑

win.loadFile('electron/index.html')

此時(shí)跑

npm run start-electron

發(fā)現(xiàn)electron是能正常啟動(dòng)的

electron嵌入react

基礎(chǔ)邏輯就是先啟動(dòng)react, 再啟動(dòng)electron,監(jiān)聽react窗口
啟動(dòng)了react之后, 修改electron/main.js里的loadFile為

win.loadURL('http://localhost:3000')

npm run start-electron

發(fā)現(xiàn)react已經(jīng)嵌入electron了.
新增wait-onconcurrently, 前后啟動(dòng) react 和 electron
wait-on是等待callback再發(fā)出下一條指令,
concurrently是多條指令并列下達(dá). 具體可以去npm看說明.

yarn add -dev wait-on concurrently

修改后的啟動(dòng)腳本為

  "scripts": {
    "start": "concurrently \"npm run start-react\" \"wait-on http://localhost:3000 && npm run start-electron\"",
    "start-react": "BROWSER=none react-scripts start",
    "start-electron": "electron ."
  },

那個(gè)BROWSER=none是為了默認(rèn)瀏覽器不自動(dòng)彈出localhost, 到此配置完成. npm直接start美滋滋

npm start
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容