Electron打包本地网站简单流程(windows)

一、安装NodeJS

自己去官方下载安装即可

二、安装electron及electron-packager

安装完NodeJs会一并帮我们安装npm包管理工具,我们使用npm安装electron及electron-packager

npm install electron --save-dev
npm install electron-packager -g

注意electron可能拉取不下来,我们可以换一个镜像

// 设置npm阿里镜像,之前的taobao镜像已经弃用了
npm config set registry https://registry.npmmirror.com/
// 设置electron从指定镜像地址拉取
npm config set ELECTRON_MIRROR http://npmmirror.com/mirrors/electron/
三、配置package.json文件

我们新建一个目录比如叫deskApp,打开cmd窗口进入目录下执行

// 初始化package.json文件
npm init -y

打开package.json文件,将如下内容复制进去

{
  "name": "deskApp", 
  "version": "1.0.0",
  "description": "deskApp",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "electron .",
    "build":"electron-packager ./ 打包后的应用名 --platform=win32 --arch=x64 --electron-version=31.0.0 --out=./dist --overwrite --icon=./deskApp/icon.ico"
  },
  "keywords": [],
  "author": "Moreduo",
  "license": "ISC",
  "devDependencies": {
    "electron": "^31.0.0"
  }
}

这里的--electron-version=31.0.0请改为你npm拉取的版本,即和devDependencies中的electron版本一致

--out=./dist 表示打包的输出位置是当前目录下的dist文件夹,这个东西时好时坏,可能是我electron版本问题吧,如何没有在对应目录生成就去shell窗口提示的对应目录去找。

四、拷贝项目到根目录

比如我的项目都在webApp文件夹里,我把webApp文件夹拷贝进我们上面新建的deskApp目录下

五、新建入口文件index.js

我们在deskApp目录下新建index.js文件,将如下内容拷贝进去

const electron = require("electron");
const app = electron.app;
const path = require("path");
const url = require("url");
const BrowserWindow = electron.BrowserWindow;
const Menu = electron.Menu;
//创建主窗口
app.on("ready", function () {
    // 创建窗口
    mainWindow = new BrowserWindow({
        minimizable: true, // 最小化按钮
        maximizable: true, // 最大化按钮
        closable: true, // 关闭按钮
        movable: true, // 是否可移动
        frame: true, //边框
        fullscreen: true, //全屏
        titleBarStyle: "hidden", // 标题栏可选配置 default,hidden(上面的最大,最小关闭按钮想生效这里就得设置为default且不能是全屏状态)
        autoHideMenuBar: true, // 菜单栏
        //图标
        icon: path.join(__dirname, "/webApp/icon.ico"),
    });
    // 应用入口文件
    mainWindow.loadURL(
        url.format({
            pathname: path.join(__dirname, "/webApp/index.html"),
            protocol: "file:",
            slashes: true,
        })
    );
    // 窗口右键
    const contextMenu = Menu.buildFromTemplate([
        {
            label: "全屏",
            click: () => mainWindow.setFullScreen(true),
        },
        {
            label: "隐藏",
            click: () => mainWindow.minimize(),
        },
        {
            label: "刷新",
            click: () => mainWindow.webContents.reload(),
        },
        {
            label: "关闭",
            click: () => mainWindow.close(),
        }
    ]);
    mainWindow.webContents.on("context-menu", (e, params) => {
        contextMenu.popup();
    });
});
六、运行打包

打开cmd运行我们package.json中配置的打包命令

npm run build

看到如下界面

这里是打包成功了,可惜输出的位置并不是我配置的地方(有时候是对的)。不过也无所谓了,我们到对应目录找到应用双击打开就可以了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值