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

使用electron打包Vue前端項(xiàng)目的詳細(xì)流程

 更新時(shí)間:2024年04月10日 09:08:47   作者:IT_Carter  
這篇文章主要介紹了使用electron打包Vue前端項(xiàng)目的詳細(xì)流程,文中通過圖文結(jié)合的方式給大家介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)electron打包Vue有一定的幫助,需要的朋友可以參考下

Electron-Forge 打包Vue項(xiàng)目

效果:electronforge可將前端靜態(tài)頁面打包成.exe、.deb和.rpm等,能適配各種平臺(tái)

  • 示例:Windows環(huán)境下將前端 Vue 項(xiàng)目打包成exe文件
  • 打包后的 exe 文件

在這里插入圖片描述

  • 運(yùn)行 exe 文件

在這里插入圖片描述

一、項(xiàng)目準(zhǔn)備

開源項(xiàng)目 RouYi 下載

本地環(huán)境

# 環(huán)境版本信息
node -v  # v20.11.1
npm -v  # 10.2.4

# 設(shè)置源
npm config set registry https://registry.npmmirror.com/

# 查看 node 源
npm config get registry

安裝依賴

# 切換到Vue前端項(xiàng)目
cd ruoyi-ui
# 安裝Vue所需依賴
npm install
# 運(yùn)行 Vue 項(xiàng)目
npm run dev

報(bào)錯(cuò)

原因:Node版本高了

項(xiàng)目啟動(dòng)失敗

修改 package.json

在這里插入圖片描述

修改后的 package.json

  "scripts": {
    "dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
    "build:prod": "vue-cli-service build",
    "build:stage": "vue-cli-service build --mode staging",
    "preview": "node build/index.js --preview",
    "lint": "eslint --ext .js,.vue src"
  }, 

二、項(xiàng)目配置

1. 修改項(xiàng)目配置

ruoyi-ui 下的配置修改

1.1 .env.production

# 修改前
VUE_APP_BASE_API = '/prod-api'

# 修改后(與后端保持一致)
VUE_APP_BASE_API = 'http://localhost:8080'

1.2 vue.config.js

# 修改前:靜態(tài)資源路徑
publicPath: process.env.NODE_ENV === "production" ? "/" : "/",

# 修改后
publicPath: './',
 
# 實(shí)際接口地址與后端Sprintboot項(xiàng)目保持一致
target: `http://localhost:8080`,

1.3 修改路由配置

進(jìn)入 ruoyi-ui/src/router/index.js

# 修改前:url不帶#
mode: 'history'

# 修改后:url帶#
mode: 'hash'

1.4 全局修改Cookies為localStorage

由于打包成exe或deb這類可執(zhí)行文件后,本地是沒有 Cookies

在這里插入圖片描述

全局搜索Cookies.get并替換為localStorage.getItem

在這里插入圖片描述

全局搜索Cookies.set并替換為localStorage.setItem

在這里插入圖片描述

全局搜索Cookies.remove并替換為localStorage.removeItem

進(jìn)入ruoyi-ui/src/views/login.vue

修改前

localStorage.setItem("username", this.loginForm.username, { expires: 30 });
localStorage.setItem("password", encrypt(this.loginForm.password), { expires: 30 });
localStorage.setItem('rememberMe', this.loginForm.rememberMe, { expires: 30 });

修改后

localStorage.setItem("username", this.loginForm.username);
            localStorage.setItem("password", encrypt(this.loginForm.password));
            localStorage.setItem('rememberMe', this.loginForm.rememberMe);

1.5 退出登錄白頁問題

進(jìn)入 ruoyi-ui/src/layout/components/Navbar.vue

修改前

退出登錄路由跳轉(zhuǎn)

修改后

    async logout() {
      this.$confirm('確定注銷并退出系統(tǒng)嗎?', '提示', {
        confirmButtonText: '確定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        this.$store.dispatch('LogOut').then(() => {
          this.$router.push('/login')
        })
      }).catch(() => {});
    }

三、開始打包

打包 Vue

npm run build:prod

報(bào)錯(cuò)

node版本沖突

原因

node版本過高

解決方案
進(jìn)入 ruoyi-ui/package.json

修改前

在這里插入圖片描述

修改后

"scripts": {
    "dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
    "build:prod": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
    "build:stage": "vue-cli-service build --mode staging",
    "preview": "node build/index.js --preview",
    "lint": "eslint --ext .js,.vue src"
  },

以上配置修改后,重新執(zhí)行打包命令

npm run build:prod

打包好后出現(xiàn) ruoyi-ui/dist 文件夾

打包后的前端資源

3.1 下載 electron 骨架項(xiàng)目

第一步:下載把electron官方例子

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

第二步:配置項(xiàng)目

刪除 index.htmlpackage-lock.json

在這里插入圖片描述

將 Vue 打包后的dist放入項(xiàng)目 electron-quick-start 根目錄上

在這里插入圖片描述

入口文件 main.js ,修改打包的文件路徑為我們的index.html

// 原始內(nèi)容 
mainWindow.loadFile('index.html') 

// 修改后的內(nèi)容 
mainWindow.loadFile('./dist/index.html') 

進(jìn)入 package.json

// 原始內(nèi)容 
  "devDependencies": {
    "electron": "^29.2.0"
  }
// 修改后的內(nèi)容 
  "devDependencies": {}

第三步:安裝依賴

配置npm

如果不配置,為 electron-quick-start 項(xiàng)目下載 electron 超級(jí)慢,甚至下載失?。。。?/p>

尋找電腦上的 .npmrc:默認(rèn)c盤下

在這里插入圖片描述

Everything是一款在系統(tǒng)中快速搜索文件的軟件

.npmrc 中添加最后兩行

prefix=D:\Environment\nodejs\node_global
cache=D:\Environment\nodejs\node_cache
registry=https://registry.npmmirror.com/

disturl=https://registry.npmmirror.com/-/binary/node
electron_mirror=https://registry.npmmirror.com/-/binary/electron/

下載依賴

npm install --save-dev electron
npm install --save-dev @electron-forge/cli
npm exec --package=@electron-forge/cli -c "electron-forge import"
npm install --save-dev @electron-forge/plugin-fuses

控制臺(tái)輸出

在這里插入圖片描述

# 運(yùn)行預(yù)覽打包后的exe
npm run start
# 構(gòu)建分發(fā)包形成單個(gè)exe
npm run make

Windows下成功打包exe

在這里插入圖片描述

electron-forge 會(huì)檢測(cè)當(dāng)前系統(tǒng)是Windows,還是Linux,最終分發(fā)成.exe、.deb或.rpm都是看你當(dāng)前執(zhí)行 npm run make

# 當(dāng)然你可以強(qiáng)制修改平臺(tái),通過添加參數(shù)platform
  "scripts": {
    "start": "electron-forge start",
    "package": "electron-forge package",
    "make": "electron-forge make --platform=linux"
  },

But ERROR

在這里插入圖片描述

Windows 上打包成 .deb不被允許

依據(jù) electronforge 官網(wǎng)解釋

Electron Forge 官網(wǎng) deb 描述

在這里插入圖片描述

你只能在 Linux 或者 macOS操作系統(tǒng)上打包 deb 文件,因此 Windows 操作系統(tǒng)下無法構(gòu)建.deb的哦?。?!

以上就是使用electron打包Vue前端項(xiàng)目的詳細(xì)流程的詳細(xì)內(nèi)容,更多關(guān)于electron打包Vue項(xiàng)目的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 多個(gè)vue子路由文件自動(dòng)化合并的方法

    多個(gè)vue子路由文件自動(dòng)化合并的方法

    這篇文章主要給大家介紹了關(guān)于多個(gè)vue子路由文件自動(dòng)化合并的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Vue響應(yīng)式添加、修改數(shù)組和對(duì)象的值

    Vue響應(yīng)式添加、修改數(shù)組和對(duì)象的值

    有些時(shí)候,不得不想添加、修改數(shù)組和對(duì)象的值,但是直接添加、修改后又失去了getter、setter,由于JavaScript的限制, Vue不能檢測(cè)以部分變動(dòng)的數(shù)組
    2017-03-03
  • Vue二次封裝el-select實(shí)現(xiàn)下拉滾動(dòng)加載效果(el-select無限滾動(dòng))

    Vue二次封裝el-select實(shí)現(xiàn)下拉滾動(dòng)加載效果(el-select無限滾動(dòng))

    el-select默認(rèn)是不支持虛擬滾動(dòng)的,需要使用第三方插件來實(shí)現(xiàn)虛擬滾動(dòng)功能,下面這篇文章主要給大家介紹了關(guān)于Vue二次封裝el-select實(shí)現(xiàn)下拉滾動(dòng)加載效果的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • vue項(xiàng)目同時(shí)兼容pc和移動(dòng)端的解決方式

    vue項(xiàng)目同時(shí)兼容pc和移動(dòng)端的解決方式

    我們經(jīng)常在項(xiàng)目中會(huì)有支持pc與手機(jī)端需求,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目同時(shí)兼容pc和移動(dòng)端的解決方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • Vue Router組件內(nèi)路由鉤子的使用

    Vue Router組件內(nèi)路由鉤子的使用

    本文主要介紹了Vue Router組件內(nèi)路由鉤子的使用,用于權(quán)限驗(yàn)證、數(shù)據(jù)預(yù)加載、防止數(shù)據(jù)丟失等場(chǎng)景,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-06-06
  • vue中的自定義分頁插件組件的示例

    vue中的自定義分頁插件組件的示例

    這篇文章主要介紹了vue中的自定義分頁插件組件的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • 關(guān)于Vue中axios的封裝實(shí)例詳解

    關(guān)于Vue中axios的封裝實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于Vue中axios的封裝的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 詳解vue中父子組件傳遞參數(shù)props的實(shí)現(xiàn)方式

    詳解vue中父子組件傳遞參數(shù)props的實(shí)現(xiàn)方式

    這篇文章主要給大家介紹了在vue中,父子組件傳遞參數(shù)?props?實(shí)現(xiàn)方式,文章通過代碼示例介紹的非常詳細(xì),對(duì)我們的學(xué)習(xí)或工作有一定的參考價(jià)值,需要的朋友可以參考下
    2023-07-07
  • 在Vue框架下實(shí)現(xiàn)表格行合并的兩種方法

    在Vue框架下實(shí)現(xiàn)表格行合并的兩種方法

    本文介紹了ElementUI和Antd+Vue中el-table和a-table實(shí)現(xiàn)行合并的方法,包括基本使用、實(shí)現(xiàn)步驟、示例代碼等,通過自定義計(jì)算合并行數(shù)的方法,可以靈活實(shí)現(xiàn)表格數(shù)據(jù)的合并顯示,提升數(shù)據(jù)的可讀性和用戶體驗(yàn),需要的朋友可以參考下
    2026-04-04
  • vue使用原生js創(chuàng)建元素樣式不生效問題及解決

    vue使用原生js創(chuàng)建元素樣式不生效問題及解決

    這篇文章主要介紹了vue使用原生js創(chuàng)建元素樣式不生效問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評(píng)論

建阳市| 柘荣县| 盘锦市| 富源县| 绵阳市| 萨迦县| 长沙县| 新建县| 垫江县| 利津县| 阜宁县| 湖口县| 通河县| 南郑县| 土默特左旗| 顺昌县| 揭西县| 佛教| 丰顺县| 固安县| 洞口县| 综艺| 淮南市| 阿拉善盟| 确山县| 大宁县| 庆元县| 民勤县| 杨浦区| 乌拉特前旗| 宜春市| 萨嘎县| 涟水县| 安龙县| 和林格尔县| 永和县| 鱼台县| 奉新县| 宁明县| 五大连池市| 台江县|