炫彩斑斓 2023-11-29 10:44 采纳率: 0%
浏览 5

electron-vue打包好之后打开非常慢

请问electron-vue,我有引入了element组件库,打包好exe之后打开加载非常慢是什么原因呀,有什么好的解决方法吗?

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-29 13:14
    关注

    【相关推荐】



    • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7601192
    • 你也可以参考下这篇文章:使用electron将vue项目打包成exe
    • 除此之外, 这篇博客: vue3 electron 记录中的 五、打包.exe 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      项目安装electeon

      npm install electron
      

      项目打包 npm run build
      在打包完成后的dist文件夹内新建main.js和package.js文件
      main.js

      
      const { app, BrowserWindow } = require('electron');//引入electron
      
      // 获取可执行文件位置
      --开机自动启动
      const ex = process.execPath;
      app.setLoginItemSettings({
        openAtLogin: true,
        path: ex,
        args: []
      });
      
      
      
      
      
      function createWindow() {
        win = new BrowserWindow({ show: false })
        win.on('ready-to-show', function () {
          win.show()
          win.maximize()
          // 初始化后再显示
        })
        if (process.env.WEBPACK_DEV_SERVER_URL) {// dev环境
          win.loadURL(process.env.WEBPACK_DEV_SERVER_URL)
        } else {// 打包环境
          // createProtocol('app')
          win.loadURL(`file://${__dirname}/index.html`);
        }
        // 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();
        }
      
      });
      
      

      package.js

      {
          "name": "yi-feng-video",
          "productName": "视频预警",用户看到的名称
          "author": "xxx",
          "version": "1.8.14",--版本号
          "main": "main.js",
          "description": "xx科技视频预警软件",
          "scripts": {
              "pack": "electron-builder --dir",
              "dist": "electron-builder",
              "postinstall": "electron-builder install-app-deps"
          },
          "build": {
              "electronVersion": "1.8.5",
              "win": {
                  "target": [
                      {
                          "target": "nsis",
                          "arch": [
                              "x64"
                          ]
                      }
                  ],
                  "icon": "./yf_video.ico"--可以使用破解版的icofx制作winico,放在dist目录下
              },
              "appId": "YF-video",
              "artifactName": "xx科技-视频预警-${version}-${arch}.${ext}",
              "nsis": {
                  "artifactName": "xx科技-视频预警-${version}-${arch}.${ext}"
              },
              "extraResources": [
                  {
                      "from": "./static/xxxx/",
                      "to": "app-server",
                      "filter": [
                          "**/*"
                      ]
                  }
              ],
              "publish": [
                  {
                      "provider": "generic",
                      "url": "http://xxxxx/download/"
                  }
              ]
          },
          "dependencies": {
              "core-js": "^2.4.1",
              "electron-packager": "^12.1.0",
              "electron-updater": "^4.0.0"
          },
          "devDependencies": {
              "electron-builder": "^22.11.7"
          }
      }
      
      

      然后cd dist

      npm install electron-builder --save-dev
      

      安装完成之后直接在dist里执行

      npm run dist
      

      再在项目文件夹中找到dist里面的dist里面的.exe文件,这个就是我们需要的文件,直接双击,发送给别人也只需要发送此.exe文件
      至此,打包已完成


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 11月29日

悬赏问题

  • ¥15 科来模拟ARP欺骗困惑求解
  • ¥100 iOS开发关于快捷指令截屏后如何将截屏(或从截屏中提取出的文本)回传给本应用并打开指定页面
  • ¥15 unity连接Sqlserver
  • ¥15 图中这种约束条件lingo该怎么表示出来
  • ¥15 VSCode里的Prettier如何实现等式赋值后的对齐效果?
  • ¥15 流式socket文件传输答疑
  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)