• Vue项目中引入electron发布桌面应用


    1. 在原先已有的Vue项目里面,打开终端执行vue add electron-builder ;


    2. 选择合适的版本安装好这个插件,执行npm run electron:serve ;


    3. 如果页面没有什么错误,就会弹出一个vue的应用窗口,说明准备工作已经完成;


    4. 如果需要修改桌面应用界面或窗口之类的一些配置,则需要在package.json文件最后加上“build”键并将里面的各个参数都填进去即可,如同下方所示,关注最后的“build”:

    {
        "name": "my-project",
        "version": "0.1.0",
        "private": true,
        "scripts": {
            "serve": "vue-cli-service serve",
            "build": "vue-cli-service build",
            "lint": "vue-cli-service lint",
            "electron:build": "vue-cli-service electron:build",
            "electron:serve": "vue-cli-service electron:serve",
            "postinstall": "electron-builder install-app-deps",
            "postuninstall": "electron-builder install-app-deps"
        },
        "main": "background.js",
        "dependencies": {
            "core-js": "^3.6.5",
            "electron": "^9.0.4",
            "electron-builder": "^22.7.0",
            "nedb": "^1.8.0",
            "nedb-promises": "^4.0.3",
            "vue": "^2.6.11"
        },
        "devDependencies": {
            "@vue/cli-plugin-babel": "~4.4.0",
            "@vue/cli-plugin-eslint": "~4.4.0",
            "@vue/cli-service": "~4.4.0",
            "babel-eslint": "^10.1.0",
            "electron": "^9.0.0",
            "eslint": "^6.7.2",
            "eslint-plugin-vue": "^6.2.2",
            "vue-cli-plugin-electron-builder": "~2.0.0-rc.2",
            "vue-template-compiler": "^2.6.11"
        },
        "eslintConfig": {
            "root": true,
            "env": {
                "node": true
            },
            "extends": [
                "plugin:vue/essential",
                "eslint:recommended"
            ],
            "parserOptions": {
                "parser": "babel-eslint"
            },
            "rules": {}
        },
        "browserslist": [
            "> 1%",
            "last 2 versions",
            "not dead"
        ],
        "build": {
            "productName": "ElectronVue",
            "appId": "alexander.ezharjan.electron-vue",
            "dmg": {
                "contents": [{
                        "x": 410,
                        "y": 150,
                        "type": "link",
                        "path": "/Applications"
                    },
                    {
                        "x": 130,
                        "y": 150,
                        "type": "file"
                    }
                ]
            },
            "directories": {
                "output": "build"
            },
            "openDevTools": true,
            "files": [
                "dist/electron",
                "node_modules/",
                "package.json"
            ],
            "mac": {
                "icon": "build/icons/icon.icns"
            },
            "win": {
                "icon": "build/icons/icon.ico"
            },
            "linux": {
                "icon": "build/icons"
            }
        }
    }
    

    5. 网上找到的所谓的“完整配置表”:

    
    "build": {
        "productName":"xxxx",//项目名 这也是生成的exe文件的前缀名
        "appId": "com.leon.xxxxx",//包名  
        "copyright":"xxxx",//版权  信息
        "directories": { // 输出文件夹
          "output": "build"
        }, 
        "nsis": {
          "oneClick": false, // 是否一键安装
          "allowElevation": true, // 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序。
          "allowToChangeInstallationDirectory": true, // 允许修改安装目录
          "installerIcon": "./build/icons/aaa.ico",// 安装图标
          "uninstallerIcon": "./build/icons/bbb.ico",//卸载图标
          "installerHeaderIcon": "./build/icons/aaa.ico", // 安装时头部图标
          "createDesktopShortcut": true, // 创建桌面图标
          "createStartMenuShortcut": true,// 创建开始菜单图标
          "shortcutName": "xxxx", // 图标名称
          "include": "build/script/installer.nsh", // 包含的自定义nsis脚本
        },
        "publish": [
          {
            "provider": "generic", // 服务器提供商 也可以是GitHub等等
            "url": "http://xxxxx/" // 服务器地址
          }
        ],
        "files": [
          "dist/electron/**/*"
        ],
        "dmg": {
          "contents": [
            {
              "x": 410,
              "y": 150,
              "type": "link",
              "path": "/Applications"
            },
            {
              "x": 130,
              "y": 150,
              "type": "file"
            }
          ]
        },
        "mac": {
          "icon": "build/icons/icon.icns"
        },
        "win": {
          "icon": "build/icons/aims.ico",
          "target": [
            {
              "target": "nsis",
              "arch": [
                "ia32"
              ]
            }
          ]
        },
        "linux": {
          "icon": "build/icons"
        }
      }
    




    作者:艾孜尔江·艾尔斯兰

  • 相关阅读:
    使用 linux kernel +busybox 定制linux系统
    记一次golang的内存泄露
    关于Queries_per_sec 性能计数器
    NUMA导致的MySQL服务器SWAP问题分析
    Drop Table对MySQL的性能影响分析
    当MySQL数据库遇到Syn Flooding
    tcp_tw_recycle参数引发的数据库连接异常
    一例数据同步异常问题分析
    MySQL大量线程处于Opening tables的问题分析
    MySQL DeadLock故障排查过程
  • 原文地址:https://www.cnblogs.com/ezhar/p/13163595.html
Copyright © 2020-2023  润新知