electron打包若依前后端分离项目,打包成exe客户端,自动化部署到Windows服务器

 一、修改项目package.json中的配置

# 前端配置
# package.json中修改配置 插入 package
"scripts": {
    "dev": "vue-cli-service serve",
    "build:prod": "vue-cli-service build --mode production",
    "build:stage": "vue-cli-service build --mode staging",
    "preview": "node build/index.js --preview",
    "lint": "eslint --ext .js,.vue src",
    
    "package": "electron-packager ./dist/   --icon=./src/assets/logo/logo.png  --overwrite"
  },

# 引入包
"devDependencies":{
    "electron": "^15.3.1",
    "electron-packager": "^15.4.0",
}
# 执行 cnpm install 下载electron包
# 执行 npm cache clean --force 清除缓存

 二、修改 vue.config.js 中的配置

# 修改静态资源路径
publicPath: './',

# 修改接口地址访问路径,还有修改生产环境接口地址
target: `http://127.0.0.1:8082/label-admin`

三、将router中的配置由history改为hash或者注释调

 

四、将Navbar中的退出跳转路径改为项目地址

五、将项目中的Cookie改为sessionStorage

 const username = sessionStorage .getItem("username");
 const password = sessionStorage .getItem("password");
 const rememberMe = sessionStorage .getItem("rememberMe");

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

 sessionStorage .removeItem("username");
 sessionStorage .removeItem("password");
 sessionStorage .removeItem("rememberMe");

/* 登录成功之后的toke配置*/
export function setToken(token) {
  return sessionStorage.setItem(TokenKey, token)
  //return Cookies.get(TokenKey)
  //return Cookies.set(TokenKey, token)
}

六、执行 npm run build:prod 打包前端项目为dist文件

七、在dist文件夹下新建package.json文件和main.js文件

package.json配置

{
  "name": "demo",
  "productName": "demo",
  "author": "diaosi",
  "version": "1.0.0",
  "main": "main.js",
  "description": "项目描述"
}

main.js配置  win.webContents.openDevTools(); 可以控制调试工具的开启

const {app, BrowserWindow} =require('electron');//引入electron
let win;
let windowConfig = {
  width:800,
  height:600
};//窗口配置程序运行窗口的大小
function createWindow(){
  win = new BrowserWindow(windowConfig);//创建一个窗口
  win.loadURL(`file://${__dirname}/index.html`);//在窗口内要展示的内容index.html 就是打包生成的index.html
  win.webContents.openDevTools();  //开启调试工具
  win.on('close',() => {
    //回收BrowserWindow对象
    win = null;
  });
  win.on('resize',() => {
    win.reload();
  })
}
app.on('ready',createWindow);
app.on('window-all-closed',() => {
  app.quit();
});
app.on('activate',() => {
  if(win == null){
    createWindow();
  }
});

八、运行 npm run package 进行进行打包

九、下载innosetup打包工具进行安装

十、下载tomcat、jdk、mysql、redis免安装版

十一、新建一个文件夹放文件

 app中放的是前端打包好的exe包

 

十二、免安装版百度网盘地址,msyql,jdk不需要修改配置

链接:https://pan.baidu.com/s/1Sjt34FQkgKbzAt3IA65fUg 
提取码:Diao 
--来自百度网盘超级会员V5的分享

十三、mysql文件夹中的sqlfile放安装数据库之后自动执行创建库表的sql

将数据库导出来之后,在开头加入该sql,文件中有sql文件,对照一下


CREATE DATABASE label;
USE label;

十四、redis不用设置密码

十五、将war包放入tomcat webapps下,假如设置不加项目名访问接口,可能会造成tomcat安装完之后第一次无法加载项目,所以在前端接口处加项目名,tomcat中的server.xml不要加配置,只改一下tomcat的端口

十六、下载安装innosetup-6.2.1.exe安装包并安装

链接:https://pan.baidu.com/s/1XrlKpSBAuejgGxDEPVqHRQ 
提取码:BMao 
--来自百度网盘超级会员V5的分享

十七、安装innosetup ,新建一个,将免安装文件中的test.iss文件复制进去

 十八、修改iss配置

1.

 2.

 3.

 具体配置参考免安装文件中中的iss文件

十九、点击运行

 会在桌面生成一个Output文件夹,其中有setup 安装文件

相关参考文件

 链接:https://pan.baidu.com/s/1Sjt34FQkgKbzAt3IA65fUg 
提取码:Diao 
--来自百度网盘超级会员V5的分享

  • 5
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
在Vue2若依框架中,打包过程需要进行一些配置和优化。其中包括以下几个步骤: 1. 在vite的配置文件中,通过unplugin-vue-components插件来进行组件的自动导入和注册。在components.js文件中,通过引入Components和ElementPlusResolver,可以实现自动注册Element Plus组件的功能。 2. 在开发环境中可能会出现正常运行,但在正式环境中报错"Failed to resolve module specifier "vue". Relative references must start with either "/", "./", or "../"."的问题。这是由于pinia中使用了vue依赖中的vue-demi。解决方法是安装vue-demi并在cdn-import.js中导入。通过vite-plugin-cdn-import插件的importToCDN函数,可以将vue-demi从CDN加载并导入到项目中。 3. 组件的自动注册还可以包括图标组件的注册。通过unplugin-icons插件的IconsResolver函数,可以自动注册指定的图标集。在components.js文件中新增代码,将IconsResolver作为resolvers数组的一部分,可以实现自动注册Element Plus图标组件的功能。 综上所述,通过上述配置和优化步骤,可以实现在Vue2若依框架中进行打包。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [基于若依框架vue分离版前端打包优化](https://blog.csdn.net/qq_41939902/article/details/128558452)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值