最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue和React中快速使用Electron的簡單教程

 更新時間:2022年05月17日 07:59:59   作者:玲小叮當(dāng)  
Electron也可以快速地將你的網(wǎng)站打包成一個原生應(yīng)用發(fā)布,下面這篇文章主要給大家介紹了關(guān)于Vue和React中快速使用Electron的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

提示:

本篇文章只是教你簡單上手,Electron本身功能是非常強大的,這里邊的結(jié)合,只是能讓你簡單實現(xiàn)一個桌面應(yīng)用程序!如需要復(fù)雜的配置electron,建議去參考官網(wǎng)~

前言

對于我們來說Electron相當(dāng)于一個殼子,可以把寫好的網(wǎng)頁程序嵌入到殼子里面,可以運行在桌面上的一個程序,可以把網(wǎng)頁打包成一個在桌面應(yīng)用程序,也類似我們平時做的套殼打包的5+app,簡單來說就是軟件,Electron非常出名的就是Vscode,想要深入了解可以查看官網(wǎng)的詳細(xì)介紹。

提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、前提

Electron使用的前提是需要配備nodejs環(huán)境,所以請檢查你的電腦是否安裝了nodejs環(huán)境 可以在cmd或者powerShell使用node -v查看

二、在Vue和React中快速使用

提示:需在Vue和React打包成功的文件目錄下!

完整配置的文件,我這邊上傳了gitee, 把文件復(fù)制粘貼進(jìn)去直接npm i就可以?。旱刂?XLL/electron打包

1. 安裝Electron

  • 在打包后的根目錄下 npm init 否則下一步安裝的Electron可能會安裝到外層vue項目里
  • 在dist文件夾內(nèi)創(chuàng)建 main.js 文件及 package.json 文件

以下為main.js內(nèi)容,可復(fù)制粘貼進(jìn)去,以下為最簡單的electron配置,如想要復(fù)雜的配置,可以去參考一下官網(wǎng)配置

const {
  app,
  BrowserWindow,
  Menu
} = require('electron'); // 引入electron
let win;
let windowConfig = {
  minWidth: 1600, //最小寬度
  minHeight: 800, //最小高度
  show: false,
  resizable: false
  // frame: false,
  // fullscreen: false,
  // titleBarStyle: 'hiddenInset',
  // titleBarOverlay: true
}; //窗口配置程序運行窗口的大小
function createWindow() {
  win = new BrowserWindow(windowConfig); //創(chuàng)建一個窗口
  win.loadURL(`file://${__dirname}/index.html`); //在窗口內(nèi)要展示的內(nèi)容index.html 就是打包生成的index.html
  // win.webContents.openDevTools(); //開啟調(diào)試工具
  // 隱藏菜單欄
  Menu.setApplicationMenu(null)
  // 默認(rèn)最大化
  win.maximize()
  win.show()
  win.on('close', () => {
    //回收BrowserWindow對象
    win = null;
  });
  win.on('resize', () => {
    // 默認(rèn)刷新

    // win.reload();
  })
}
app.on('ready', createWindow);
app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});
app.on('activate', () => {
  if (win == null) {
    createWindow();
  }
});

// electron限制只能打開一個應(yīng)用窗口,在有窗口的情況下喚起窗口。
const gotTheLock = app.requestSingleInstanceLock()
if (!gotTheLock) {
  app.quit()
} else {
  app.on('second-instance', (event) => {
    if (win) {
      if (win.isMinimized()) win.restore()
      win.focus()
    }
  })
  app.on('ready', () => {
    // createWindow()
    const {
      Menu
    } = require('electron')
    Menu.setApplicationMenu(null) // 隱藏菜單欄
  })
}

package.json中修改,可以把下邊的直接復(fù)制粘貼進(jìn)去,electron限定了版本號,下邊的復(fù)制粘貼進(jìn)去后,在dist根目錄下cmd執(zhí)行npm i下載,如果你的版本號和我這邊的有出入,可能打包失敗!

{
  "name": "xxx",
  "productName": "XXXXX",
  "author": "小叮當(dāng)",
  "version": "1.0.0",
  "main": "main.js",
  "description": "項目描述",
  "scripts": {
    "pack": "npx electron-builder --dir",
    "dist": "npx electron-builder",
    "postinstall": "npx electron-builder install-app-deps",
    "start": "npx electron .",
    "package": "npx electron-packager . relay --platform=win32 --arch=x64 --icon=favicon.ico --out=./out --asar --app-version=1.0.0 --overwrite --ignore=node_modules"
  },
  "build": {
    "electronVersion": "1.8.4",
    "win": {
      "requestedExecutionLevel": "highestAvailable",
      "target": [
        {
          "target": "nsis",
          "arch": [
            "x64"
          ]
        }
      ]
    },
    "appId": "demo",
    "artifactName": "demo-${version}-${arch}.${ext}",
    "nsis": {
      "artifactName": "demo-${version}-${arch}.${ext}"
    },
    "extraResources": [
      {
        "from": "./static/",
        "to": "app-server",
        "filter": [
          "**/*"
        ]
      }
    ],
    "publish": [
      {
        "provider": "generic"
      }
    ]
  },
  "dependencies": {
    "core-js": "^2.4.1",
    "create-egg": "^2.0.1",
    "electron": "^16.2.6",
    "electron-builder": "^22.14.13",
    "electron-package": "^0.1.0",
    "electron-packager": "^12.1.0",
    "electron-updater": "^2.22.1"
  }
}
  • 執(zhí)行命令: npm run start

執(zhí)行成功,效果如下:(博主這里啥也沒寫,如果你寫了的話,運行的界面應(yīng)和你寫的一致)

2. 運行成功后,打包成軟件

執(zhí)行命令: npm run package

注意:我這里啥也沒寫所以是空的,你打包之后要是空的就是有問題啦!

總結(jié)

到此這篇關(guān)于Vue和React中快速使用Electron的文章就介紹到這了,更多相關(guān)Vue React使用Electron內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • element?el-tooltip實現(xiàn)自定義修改樣式

    element?el-tooltip實現(xiàn)自定義修改樣式

    本文主要介紹了element?el-tooltip實現(xiàn)自定義修改樣式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • watch(監(jiān)視屬性)和computed(計算屬性)的區(qū)別及實現(xiàn)案例

    watch(監(jiān)視屬性)和computed(計算屬性)的區(qū)別及實現(xiàn)案例

    watch和computed是vue實例對象中的兩個重要屬性,watch是監(jiān)視屬性,用來監(jiān)視vue實例對象上屬性和方法的變化,computed被稱為計算屬性,可以將data對象中的屬性進(jìn)行計算得到新的屬性,這篇文章主要介紹了watch(監(jiān)視屬性)和computed(計算屬性)的區(qū)別,需要的朋友可以參考下
    2023-05-05
  • vuex2中使用mapGetters/mapActions報錯的解決方法

    vuex2中使用mapGetters/mapActions報錯的解決方法

    這篇文章主要介紹了vuex2中使用mapGetters/mapActions報錯解決方法 ,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-10-10
  • Vue編程格式化代碼屬性自動換行問題

    Vue編程格式化代碼屬性自動換行問題

    這篇文章主要為大家介紹了Vue編程格式化代碼屬性及自動換行問題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 淺談vuepress 踩坑記

    淺談vuepress 踩坑記

    本篇文章主要介紹了淺談vuepress 踩坑記,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • vue實現(xiàn)移動端div拖動效果

    vue實現(xiàn)移動端div拖動效果

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)移動端div拖動效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue使用canvas的教程詳解

    vue使用canvas的教程詳解

    Vue.js?是一個流行的?JavaScript?框架,用于構(gòu)建用戶界面,它提供了一種簡潔的方式來管理和渲染數(shù)據(jù),同時也支持與其他庫和工具的集成,本文主要來和大家聊聊如何在vue中使用canvas,有需要的可以參考下
    2023-09-09
  • Vue中使用element-ui給按鈕綁定一個單擊事件實現(xiàn)點擊按鈕就彈出dialog對話框

    Vue中使用element-ui給按鈕綁定一個單擊事件實現(xiàn)點擊按鈕就彈出dialog對話框

    最近遇到了個需求是使用element-ui插件編寫頁面,點擊按鈕,彈出對話框,這篇文章主要給大家介紹了關(guān)于Vue中使用element-ui給按鈕綁定一個單擊事件實現(xiàn)點擊按鈕就彈出dialog對話框的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • 詳解vue3.2新增的defineCustomElement底層原理

    詳解vue3.2新增的defineCustomElement底層原理

    本文主要介紹了vue3.2新增的defineCustomElement底層原理,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • elementplus el-table(行列互換)轉(zhuǎn)置的兩種方法

    elementplus el-table(行列互換)轉(zhuǎn)置的兩種方法

    本文主要介紹了elementplus el-table(行列互換)轉(zhuǎn)置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06

最新評論

楚雄市| 萍乡市| 晋州市| 盘山县| 宁乡县| 喀什市| 西平县| 城固县| 宽城| 武鸣县| 连城县| 开阳县| 开鲁县| 都昌县| 元朗区| 沁水县| 延吉市| 弋阳县| 滁州市| 四平市| 旺苍县| 孟州市| 孙吴县| 淳安县| 兰州市| 彩票| 华亭县| 兰州市| 专栏| 荣昌县| 白水县| 海林市| 香格里拉县| 东山县| 灵石县| 襄垣县| 光泽县| 论坛| 芮城县| 龙山县| 禹城市|